2013-04-04 68 views
1

我正嘗試使用集成身份驗證連接到另一個盒子上的SQL Server 2008。我的環境包括64位Java 7,64位Eclipse和64位Windows 7.我使用的是Microsoft提供的JDBC驅動程序。一切工作正常與32位Java。但是,對於64位Java,我得到以下內容:嘗試使用64位Java連接到SQL Server 2008

「警告:未能加載sqljdbc_auth.dll原因:C:\ Program Files(x86)\ Microsoft JDBC驅動程序4.0 for SQL Server \ sqljdbc_4.0 \ enu \ auth \ x86 \ sqljdbc_auth.dll:無法在AMD 64位平臺上加載IA 32位.dll ...「

我發現http://msdn.microsoft.com/en-us/library/ms378428.aspx,但似乎沒有任何建議可行。具體來說,

  • 我複製 「sqljdbc_4.0 \ ENU \權威性\ 64 \ sqljdbc_auth.dll」 到 「sqljdbc_4.0 \ ENU」,一個 「C:\ WINDOWS」 和「C:\ WINDOWS \ SYSTEM32" 。得到了同樣的錯誤。

  • 我在Eclipse的VM參數中設置了「-Djava.library.path = C:\ Program Files(x86)\ Microsoft JDBC Driver 4.0 for SQL Server \ sqljdbc_4.0 \ enu \ auth \ x64」,然後我:

「錯誤:無法找到或加載主類文件」

任何想法?不知道爲什麼它使用32位sqljdbc_auth.dll? AFAIK,sql server 2008是64位的。

非常感謝!

回答

1

x86是在windows的系統路徑中,可能是在x64之前被拿起。

搜索x86 dll並將其刪除並將x64 dll放在那裏。

當你設置虛擬機參數時,確保你添加它並且不要替換它。錯誤:無法找到或加載主類文件可能由於類路徑問題而發生。

+0

感謝Thihara。通過指示類路徑解決了問題。有關詳細信息,請參閱http://stackoverflow.com/questions/957700/how-to-set-the-java-library-path-from-eclipse。 – user2159018 2013-04-04 15:30:57

+0

好找...... – Thihara 2013-04-04 16:50:29