用Java Express连接Java

我使用Java和MySQL设计了一个数据库管理系统。 我使用WAMP作为服务器。 现在一切都很完美……直到现在……

现在,我必须使用SQL Express而不是WAMP 。 我对SQL Express一无所知。 我在默认情况下安装了它。

但是,现在我可以使用以下选项连接到Microsoft SQL Server Management Studio中的数据库,( LORDXAX-PC是我的计算机名称)

在此处输入图像描述

但我需要将数据库与我的Java程序连接起来。 (之前我使用过JDBC成功,使用WAMP)

需要帮助才能成功吗? 我试过找到某些东西,但它会给出错误。 有人可以给我提供干净的说明..

任何帮助表示赞赏。 谢谢!


编辑(2)

这是一个完整的代码,展示了这个问题。

 package ExpressTest; import java.sql.Connection; import java.sql.DriverManager; import java.sql.ResultSet; public class MAIN { public static void main(String[] args) { new MAIN().start(); } private void start() { System.out.println("START"); String query = "SELECT * FROM logindata"; getData(query); System.out.println("END"); } public ResultSet getData(String query) { Connection CON = null; try { Class.forName("net.sourceforge.jtds.jdbc.Driver"); CON = DriverManager.getConnection(URL, USER, PASS); RESULT = CON.createStatement().executeQuery(query); } catch (Exception ex) { ex.printStackTrace(); } return RESULT; } private String URL = "jdbc:jtds:sqlserver://localhost/brandix;instance=sqlexpress"; private String USER = ""; private String PASS = ""; private static ResultSet RESULT; } 

这是完整的NetBeans输出。

 run: START java.sql.SQLException: Network error IOException: Connection refused: connect at net.sourceforge.jtds.jdbc.ConnectionJDBC2.(ConnectionJDBC2.java:417) at net.sourceforge.jtds.jdbc.ConnectionJDBC3.(ConnectionJDBC3.java:50) at net.sourceforge.jtds.jdbc.Driver.connect(Driver.java:185) at java.sql.DriverManager.getConnection(DriverManager.java:582) at java.sql.DriverManager.getConnection(DriverManager.java:185) at ExpressTest.MAIN.getData(MAIN.java:24) at ExpressTest.MAIN.start(MAIN.java:16) at ExpressTest.MAIN.main(MAIN.java:10) Caused by: java.net.ConnectException: Connection refused: connect at java.net.PlainSocketImpl.socketConnect(Native Method) at java.net.PlainSocketImpl.doConnect(PlainSocketImpl.java:333) at java.net.PlainSocketImpl.connectToAddress(PlainSocketImpl.java:195) at java.net.PlainSocketImpl.connect(PlainSocketImpl.java:182) at java.net.SocksSocketImpl.connect(SocksSocketImpl.java:366) at java.net.Socket.connect(Socket.java:519) at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39) END at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25) at java.lang.reflect.Method.invoke(Method.java:597) at net.sourceforge.jtds.jdbc.SharedSocket.createSocketForJDBC3(SharedSocket.java:311) at net.sourceforge.jtds.jdbc.SharedSocket.(SharedSocket.java:261) at net.sourceforge.jtds.jdbc.ConnectionJDBC2.(ConnectionJDBC2.java:318) ... 7 more BUILD SUCCESSFUL (total time: 7 seconds) 

虽然有很多答案可供选择。 我想给一个。

在使用窗口身份validation时。

从中更改JTDS URL

 private String URL = "jdbc:jtds:sqlserver://localhost/brandix;instance=sqlexpress"; 

 private String URL = "jdbc:jtds:sqlserver://localhost/brandix;instance=sqlexpress;useNTLMv2=tru‌​e;domain=workgroup"; 

或另一种选择是:

下载[Microsoft JDBC驱动程序] [1]而不是JTDS。 将sqljdbc4.jar添加到类路径中。

更新服务器的连接字符串(JDBC URL)

使用Class.forName(com.microsoft.sqlserver.jdbc.SQLServerDriver);

URL: jdbc:sqlserver://localhost;user=root;password=‌​123;"

如果仍然有问题,坚持下去。 检查,

启用TCP / IP网络协议(默认情况下禁用),并将TCP / IP端口设置为1433,这也是默认端口号。

  1. 打开SQL Server配置管理器开始 – > Microsoft SQL Server 2008 – >配置工具 – > SQL Server配置管理器

  2. 然后在左手树。 为SQLEXPRESS-> TCP / IP选择SQL Server 2005网络配置 – >协议。

  3. 右键单击并启用它。

  4. 双击TCP / IP时出现一个窗口框。 单击“IP地址”选项卡

  5. 将TCP端口值设置为1433,然后单击“应用”

  6. 重新启动SQL服务。

您将必须使用能够与SQL Server通信的驱动程序,例如jTDS 。

现在,对于这种情况,您的代码必须与此类似:

 public ResultSet getData(String query) { Connection CON = null; try { Class.forName("net.sourceforge.jtds.jdbc.Driver"); CON = DriverManager.getConnection(URL, USER, PASS); RESULT = CON.createStatement().executeQuery(query); } catch (Exception ex) { System.err.println(">> " + ex.getMessage()); } return RESULT; } private String URL = "jdbc:jtds:sqlserver://servername/brandix;instance=sqlexpress"; private String USER = ""; private String PASS = ""; private static ResultSet RESULT; 

另见@ SPee的回答。

基本上你的步骤是 :

  1. 将SQL Express的Microsoft JDBC驱动程序安装到类路径中
  2. 更新服务器的连接字符串(JDBC URL)
  3. 更新SQL Express的查询

步骤2可能要求您通过TCP / IP连接而不是本地管道/命名实例来使SQL Express可用。

第3步可能是最困难的。 您必须检查查询是否对SQL Express有效,使用具有正确参数的函数。 对于数据库管理系统,您还必须更新用户管理,表管理等所有查询。

首先从microsoft网站下载JDBC-Driver。

http://msdn.microsoft.com/en-us/sqlserver/aa937724.aspx

sqljdbc4.jar添加到您的应用程序中。

复制c:\windows\system32sqljdbc_auth.dll和java安装的/bin文件夹。

你可以使用这样的连接URL:

 jdbc:sqlserver://D-PC-IT-02;instanceName=LOKALEINSTANZ;databaseName=MyDatabase;integratedSecurity=true; 

可能需要重新启动。