1

我正在尝试在另一个具有集成身份验证的机器上连接到 SQL Server 2008。我的环境包括64位Java 7、64位Eclipse和64位Windows 7。我使用微软提供的JDBC驱动。32 位 Java 一切正常。但是,使用 64 位 Java,我得到了以下结果:

“警告:无法加载 sqljdbc_auth.dll 原因:C:\Program Files (x86)\Microsoft JDBC Driver 4.0 for SQL Server\sqljdbc_4.0\enu\auth\x86\sqljdbc_auth.dll:无法加载 IA 32- AMD 64 位平台上的位 .dll ..."

我找到了http://msdn.microsoft.com/en-us/library/ms378428.aspx,但那里的建议似乎都不起作用。具体来说,

  • 我将“sqljdbc_4.0\enu\auth\x64\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 位的。

非常感谢!

4

1 回答 1

1

x86 位于 windows 的系统路径中,可能在 x64 之前被拾取。

搜索 x86 dll 并将其删除并将 x64 dll 放在那里。

设置 VM 参数时,请确保附加它而不是替换它。错误:无法找到或加载主类文件可能是由于类路径问题而发生的。

于 2013-04-04T03:40:09.857 回答