【问题标题】:Cannot access SQL Server database using jtds无法使用 jtds 访问 SQL Server 数据库
【发布时间】: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


【解决方案1】:

请远离 JTDS。他们的最后一个版本是 ion 2012。据 JTDS (Nida) 的一位开发人员称,该项目已停止所有积极的开发活动。

请使用微软的SQLJdbc42驱动,相当稳定。

我在 SSL 上遇到 SQL Server 的 JTDS 问题,并确认该项目已死亡。

【讨论】:

    猜你喜欢
    • 2018-12-28
    • 2014-04-07
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多