[英]Trouble connecting to SQL server using Java
這是我作為代碼的一部分編寫的:
Class.forName("com.microsoft.sqlserver.jdbc.SQLServerDriver");
String host1 = "<URL/Connection path string>";
String uname1= "<User name>";
String pwd1 = "<Password>";
Connection con1 =DriverManager.getConnection(host1,uname1,pwd1);
Statement stmt1 = con1.createStatement();
ResultSet rs = stmt1.executeQuery("<Query>");
我使用了以下jar文件: jtds-1.3.0,sqljdbc-4.1.5605,sqljdbc4-4.0
運行代碼時,出現以下錯誤:
Exception in thread "main" com.microsoft.sqlserver.jdbc.SQLServerException: The connection to the host <host-name>, named instance <instance-name> failed. Error: "java.net.SocketTimeoutException: Receive timed out". Verify the server and instance names and check that no firewall is blocking UDP traffic to port 1434. For SQL Server 2005 or later, verify that the SQL Server Browser Service is running on the host.
at com.microsoft.sqlserver.jdbc.SQLServerException.makeFromDriverError(SQLServerException.java:190)
at com.microsoft.sqlserver.jdbc.SQLServerConnection.getInstancePort(SQLServerConnection.java:3589)
at com.microsoft.sqlserver.jdbc.SQLServerConnection.primaryPermissionCheck(SQLServerConnection.java:1225)
at com.microsoft.sqlserver.jdbc.SQLServerConnection.login(SQLServerConnection.java:972)
at com.microsoft.sqlserver.jdbc.SQLServerConnection.connect(SQLServerConnection.java:827)
at com.microsoft.sqlserver.jdbc.SQLServerDriver.connect(SQLServerDriver.java:1012)
at java.sql.DriverManager.getConnection(DriverManager.java:571)
at java.sql.DriverManager.getConnection(DriverManager.java:215)
at first_doc.main(first_doc.java:28)
據我所知,沒有防火牆可以阻止流量。
另外,我是否需要在連接URL中添加端口號?
編輯:我使用SQL Server版本2008
我在配置管理器中找不到SQLEXPRESS的協議
這些是您需要執行的步驟。 如果您已經這樣做,請再次檢查。
從此處下載最新的MSSQL JDBC驅動程序: http : //msdn.microsoft.com/zh-cn/sqlserver/aa937724.aspx
在我的項目中引用了2個JAR文件:
sqljdbc.jar和sqljdbc4.jar
(我不確定是否同時需要以上兩個條件。)
確保SQL Server Browser Windows服務正在運行
打開SQL Server配置管理器,然后轉到“ SQL Server網絡配置”下的“ SQLEXPRESS協議”。 右鍵單擊“ TCP / IP”,然后選擇“屬性”。
設置啟用=是。
在那里,單擊“ IP地址”選項卡,然后找到“全部IP”部分。
將TCP端口設置為1433。
將sqljdbc_auth.dll添加到您的PATH環境變量中。 就我而言:
D:\\Java\\sqljdbc_4.0\\enu\\auth\\x64
將sqljdbc_auth.dll復制到您的JDK目錄。 就我而言:
C:\\Program Files\\Java\\jdk1.7.0_04\\bin
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.