6

我需要使用jdbc 4.0从 java 连接到 Sql Server 2008 。我有一个非常简单的代码:

 Class.forName("com.microsoft.sqlserver.jdbc.SQLServerDriver");
 String connectionUrl = "jdbc:sqlserver://localhost;" +
    "integratedSecurity=true;";
 Connection con = DriverManager.getConnection(connectionUrl);

但我有这个错误:

    Exception in thread "main" com.microsoft.sqlserver.jdbc.SQLServerException: The TCP/IP connection to the host localhost, port 1433 has failed. Error: "Connection refused: connect. Verify the connection properties. Make sure that an instance of SQL Server is running on the host and accepting TCP/IP connections at the port. Make sure that TCP connections to the port are not blocked by a firewall.".
at com.microsoft.sqlserver.jdbc.SQLServerException.makeFromDriverError(SQLServerException.java:190)
    at com.microsoft.sqlserver.jdbc.SQLServerException.ConvertConnectExceptionToSQLServerException(SQLServerException.java:241)
...

我遵循这个答案:https ://stackoverflow.com/a/12524566/1554397

我在库/编译中添加了 jdbc4.jar

SQL Server Browser windows 服务正在运行。

在 SQL Server 网络配置中,我在 TCP/IP 属性上选择了启用。

我将 TCP 地址设置为 1433。

在运行时,VM 选项我把 -Djava.library.path=my path 放到 sqljdbc_auth.dll 并复制到 JDk 中,在 bin sqljdbc_auth.dll 中。

我应该怎么办?

编辑: 当在 cmd telnet localhost 1433中写入时,我得到“无法在端口 1433 上打开与主机的连接”

4

1 回答 1

4

如果使用 Window 身份验证,您可以执行以下操作:

String url = "jdbc:sqlserver://MYPC\\SQLEXPRESS;databaseName=MYDB;integratedSecurity=true";
Class.forName("com.microsoft.sqlserver.jdbc.SQLServerDriver");
Connection conn = DriverManager.getConnection(url);

然后将 sqljdbc_auth.dll 的路径添加为 VM 参数(构建路径中需要 sqljdbc4.jar)。

此处查看简短的分步指南,了解如何在需要更多详细信息时从 Java 连接到 SQL Server。希望能帮助到你!

于 2013-08-28T15:25:43.977 回答