2011-01-07 74 views
11

我试图连接到使用微软的JDBC驱动程序SQL Server 2005年我公司的SQL服务器这是我的连接字符串的样子:如何使用JDBC驱动程序的集成安全性连接到SQL Server?

jdbc:sqlserver://HOSTNAME;integratedSecurity=true;database=DATABASE; 

要驾驶员抛出一个异常:

Invalid integratedSecurity property value:true 

使用“是”而不是给出一个不同的错误消息,指示“是”不是布尔属性的有效选项。

如何使用集成安全连接?

+0

是sqljdbc_auth。 DLL在你的bin/lib文件夹? –

+0

@jms有趣的故事:这实际上很难说。出于某种神秘原因,我没有权限列出JDBC驱动程序目录的内容,但是我可以使用它们的路径访问里面的文件。 – zneak

+0

@jms在我们的JDBC驱动程序中没有'auth'目录。刚刚得到3.0版(而不是谷歌它第一次出现的1.0)。我想这会更好。 – zneak

回答

14

检查这个instructions,也 - 你是在同一个域(主叫方和服务器?)

从那里报价:

JDBC驱动程序支持在Windows操作系统中使用Type 2集成身份验证系统通过integratedSecurity连接字符串属性。要使用集成身份验证,请将sqljdbc_auth.dll文件复制到安装了JDBC驱动程序的计算机上的Windows系统路径中的目录。

的sqljdbc_auth.dll文件安装在以下位置:

<installation directory>\sqljdbc_<version>\<language>\auth\ 

注:

如果您运行的是32位Java虚拟机(JVM),使用 sqljdbc_auth.dll文件在x86 文件夹中,即使操作系统 是x64版本。如果在x64处理器上运行 64位JVM,请在x64 文件夹中使用 sqljdbc_auth.dll文件。如果您在IA-64处理器上运行64位 JVM,请使用IA64 文件夹中的 sqljdbc_auth.dll文件。

或者,您可以设置java.libary.path系统属性来指定sqljdbc_auth.dll的目录。例如,如果JDBC驱动程序安装在默认目录中,可以使用以下虚拟机(VM)的说法当Java应用程序启动指定的DLL的位置:

-Djava.library.path=C:\Microsoft SQL Server 2005 JDBC Driver\sqljdbc_<version>\enu\auth\x86 
+0

谷歌首先显示的JDBC驱动程序严重过时。我升级并按照说明操作,并且完美运行。 – zneak

相关问题