2011-01-07 73 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

相關問題