【发布时间】:2017-05-04 20:57:45
【问题描述】:
我正在尝试使用 Java 和 jtds 访问 SQL Server 数据库。这是我的(非常)简单的代码:
String url = "jdbc:jtds:sqlserver://dev.company.com:1433/master;domain=COMP;USENTLMV2=true;SSL=request";
String driver = "net.sourceforge.jtds.jdbc.Driver";
String userName = "COMP\\username";
String password = "s3cr3t";
Connection conn = null;
try {
Class.forName(driver);
conn = DriverManager.getConnection(url, userName, password);
} catch (Exception e) {
e.printStackTrace();
} finally {
conn.close();
}
pom.xml
<dependency>
<groupId>net.sourceforge.jtds</groupId>
<artifactId>jtds</artifactId>
<version>1.2.8</version>
</dependency>
几分钟没有活动后,我收到此错误:
java.sql.SQLException: Network error IOException: Connection reset
....
Caused by: java.net.SocketException: Connection reset
....
我可以 ping dev.company.com,并且可以使用 GUI(我的 Mac 上的 SQLPro)访问数据库,所以这是一个有效的连接,但我不知道还能做什么。
【问题讨论】:
-
SQL Server 实例中是否启用了 TCP/IP?
-
不相关,但是:jTDS驱动已经死了,很久没有更新了。现在微软 JDBC 驱动是更好的选择:github.com/Microsoft/mssql-jdbc
-
我不知道是否启用了 TCP/IP。有人专门告诉我要使用 jtds....
-
有趣...谢谢 TCF_L。如果我没看错,它说有可用的补丁。我将如何实施补丁?
标签: java sql-server jtds