Sum*_*udu 2 java sql jdbc sql-server-2008
我使用Java和MySQL设计了一个数据库管理系统.我使用WAMP作为服务器.现在一切都很完美......直到现在......
现在,我必须使用SQL Express而不是WAMP.我对SQL Express一无所知.我在默认情况下安装了它.
但是,现在我可以使用以下选项连接到Microsoft SQL Server Management Studio中的数据库(LORDXAX-PC是我的计算机名称)

但我需要将数据库与我的Java程序连接起来.(之前我使用过JDBC成功,使用WAMP)
需要帮助才能成功吗?我试过找到某些东西,但它会给出错误.有人可以给我提供干净的说明..
任何帮助表示赞赏.谢谢!
这是一个完整的代码,展示了这个问题.
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;
}
Run Code Online (Sandbox Code Playgroud)
这是完整的NetBeans输出.
run:
START
java.sql.SQLException: Network error IOException: Connection refused: connect
at net.sourceforge.jtds.jdbc.ConnectionJDBC2.<init>(ConnectionJDBC2.java:417)
at net.sourceforge.jtds.jdbc.ConnectionJDBC3.<init>(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.<init>(SharedSocket.java:261)
at net.sourceforge.jtds.jdbc.ConnectionJDBC2.<init>(ConnectionJDBC2.java:318)
... 7 more
BUILD SUCCESSFUL (total time: 7 seconds)
Run Code Online (Sandbox Code Playgroud)
虽然有很多答案可供选择.我想给一个.
正如您使用窗口身份验证.
从中更改JTDS URL
private String URL = "jdbc:jtds:sqlserver://localhost/brandix;instance=sqlexpress";
Run Code Online (Sandbox Code Playgroud)
至
private String URL = "jdbc:jtds:sqlserver://localhost/brandix;instance=sqlexpress;useNTLMv2=tru??e;domain=workgroup";
Run Code Online (Sandbox Code Playgroud)
或另一种选择是:
下载[Microsoft JDBC驱动程序] [1]而不是JTDS.添加sqljdbc4.jar到您的类路径.
更新服务器的连接字符串(JDBC URL)
使用 Class.forName(com.microsoft.sqlserver.jdbc.SQLServerDriver);
网址: jdbc:sqlserver://localhost;user=root;password=??123;"
如果仍然有问题,坚持下去.检查,
启用TCP/IP网络协议(默认情况下禁用),并将TCP/IP端口设置为1433,这也是默认端口号.
打开SQL Server配置管理器开始 - > Microsoft SQL Server 2008 - >配置工具 - > SQL Server配置管理器
然后在左手树.为SQLEXPRESS-> TCP/IP选择SQL Server 2005网络配置 - >协议.
右键单击并启用它.
双击TCP/IP时出现一个窗口框.单击"IP地址"选项卡
将TCP端口值设置为1433,然后单击"应用"
重新启动SQL服务.