2011-01-28 36 views
4

與Java MicrosoftSqlServer 2005的java連接至2005 MicrosoftSQLServer

  • IDE使用連接:Eclipse的赫利俄斯使用
  • 驅動程序:sqljdbc.jar
  • .dll文件中:從x86文件夾sqljdbc_auth.dll。
  • .dll被添加到system32文件夾重新啓動系統。
  • 平安成功與SQL Server 2005連接使用Eclipse sqljdbc.jar

錯誤報告:

15:45:48,218 ERROR [STDERR] Jan 28, 2011 3:45:48 PM com.microsoft.sqlserver.jdbc.AuthenticationJNI <clinit> 
WARNING: Failed to load the sqljdbc_auth.dll 
15:46:02,671 ERROR [STDERR] com.microsoft.sqlserver.jdbc.SQLServerException: The TCP/IP connection to the host localhost, port 1433 has failed. Error: "connect timed out. Verify the connection properties, check that an instance of SQL Server is running on the host and accepting TCP/IP connections at the port, and that no firewall is blocking TCP connections to the port.". 

您好所有,

我已經執行這命令提示符:I'M立即獲取此錯誤:

C:\>java -cp .;"C:\sqljdbc_1.2\enu\sqljdbc.jar" -Djava.library.path="C:\sqljdbc_ 
1.2\enu\auth\x86" mfirst 
Exception in thread "main" java.lang.NoClassDefFoundError: mfirst 
Caused by: java.lang.ClassNotFoundException: mfirst 
     at java.net.URLClassLoader$1.run(Unknown Source) 
     at java.security.AccessController.doPrivileged(Native Method) 
     at java.net.URLClassLoader.findClass(Unknown Source) 
     at java.lang.ClassLoader.loadClass(Unknown Source) 
     at sun.misc.Launcher$AppClassLoader.loadClass(Unknown Source) 
     at java.lang.ClassLoader.loadClass(Unknown Source) 
Could not find the main class: mfirst. Program will exit. 
+0

驗證了這一點:「連接屬性,檢查SQL Server的一個實例是否在主機上運行,​​並且在端口上接受TCP/IP連接,並且沒有防火牆阻止TCP連接到端口。 – 2011-01-28 10:34:27

回答

0

您的程序outp ut看起來不像JDBC問題。您正在調用Java,並將其傳遞給一些環境參數,但從根本上告訴它可以從類mfirst開始執行。

,因此,該程序輸出狀態:

找不到主類:mfirst。程序將會退出。

這看起來不像主類的正確名稱(沒有包,也沒有大寫字母)。你確定你正確地調用程序嗎?

4

哈利是對的。該驅動程序無法加載認證DLL。轉到您的環境變量,並添加到您的PATHC:\JavaLib\Microsoft SQL Server JDBC Driver 3.0\sqljdbc_3.0\enu\auth\x64(選擇適合您的計算機的正確身份驗證的子文件夾 - 即86等) 重新啓動您的IDE,它應該工作作爲標榜

3

請複製sqljdbc_auth.dll文件到jdk bin文件夾。 即C:\ Program Files \ Java \ jdk1.6_32 \ bin粘貼文件在運行JVM的服務器端 如果使用Web服務,請在客戶端應用相同的代碼。