连接到本地MS SQL Server

时间:2012-05-09 18:38:46

标签: java sql-server jtds

我有一个本地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错误。

我该如何解决这个问题?

3 个答案:

答案 0 :(得分:11)

检查以下内容:

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

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

答案 1 :(得分:0)

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

sqlserver://localhost\SQLEXPRESS

答案 2 :(得分:0)

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