6

我有一个本地 MS SQL Server,我正在尝试使用 Java 中的 JTDS 连接到它。这是连接字符串:

Class.forName("net.sourceforge.jtds.jdbc.Driver");
Connection conn = DriverManager.getConnection("jdbc:jtds:sqlserver://localhost:1433/stock","sa","password");

和服务器属性:
名称:USER-PC\SQLEXPRESS
根目录:c:\Program Files\Microsoft SQL Server\MSSQL11.SQLEXPRESS\MSSQL

我收到一个Exception in thread "main" java.sql.SQLException: Network error IOException: Connection refused: connect错误。

我该如何补救?

4

3 回答 3

12

检查以下内容:

  • 您已启用混合模式安全性,即您可以使用用户名/密码进行连接(而不是使用 Windows 身份验证)
  • TCP/IP 协议已启用。打开 SQL Server 配置管理器,然后在 SQL Server 网络配置中选择协议并启用 TCP/IP。
  • 尝试使用以下格式仅将一个字符串传递给 getConnection:

    DriverManager.getConnection("jdbc:jtds:sqlserver://localhost:1433/stock;instance=SQLEXPRESS;user=sa;password=password")
    
  • 如果您使用这种格式(命名实例),则需要运行 SQL Server Browser 服务(在服务中)。如果此项显示为灰色,则该服务可能已禁用,因此请启用它然后启动它。

于 2012-05-09T19:02:41.407 回答
0

端口 1433 是默认实例使用的端口。您正在使用 SQLEXPRESS,它是一个命名实例。您的连接字符串应包括以下内容:

sqlserver://localhost\SQLEXPRESS
于 2012-05-11T15:58:32.490 回答
0

SQL Server Browser 服务默认是禁用的。如果您正在开发 .Net 应用程序,则无需启动 SQLBrowser,但如果您在 java 中使用 JTDS,则需要启动它。

于 2017-08-18T03:28:58.043 回答