2011-01-07 12 views
11

私はこれは私の接続文字列は次のようになりますSQL Server 2005のMicrosoftのJDBCドライバを使用して、私の会社のSQLサーバーに接続しようとしている:ドライバーが例外をスローしたために統合セキュリティをJDBCドライバで使用してSQL Serverに接続する方法を教えてください。

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

Invalid integratedSecurity property value:true 

代わりに「yes」を使用すると、「yes」がブール値プロパティの有効なオプションではないことを示す別のエラーメッセージが表示されます。

統合セキュリティを使用してどのように接続しますか?

+0

sqljdbc_authです。 bin/libフォルダのdll? –

+0

@jms楽しい話:それは実際に伝えるのは難しいです。いくつかの不思議な理由のために、私はJDBCドライバディレクトリの内容を一覧表示する権限を持っていませんが、そのパスを使って内部のファイルにアクセスできます。 – zneak

+0

@jms私たちが持っていたJDBCドライバには 'auth'ディレクトリはありませんでした。ちょうどあなたがそれをgoogleしたときに最初に現れる1.0の代わりにちょうどバージョン3.0を持っていました。私はそれがより良くなると思う。 – zneak

答えて

14

チェックこのinstructionsは、も - そこからの引用あなたが同じドメイン上にある

(呼び出し側とサーバー?):

JDBCドライバは、Windowsオペレーティング上のタイプ2の統合認証の使用をサポートしていますシステムには、integratedSecurity接続文字列プロパティを使用します。統合認証を使用するには、sqljdbc_auth.dllファイルを、JDBCドライバがインストールされているコンピュータのWindowsシステムパス上のディレクトリにコピーします。

sqljdbc_auth.dllファイルは次の場所にインストールされます

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

注:

あなたが sqljdbc_auth.dllを使用し、32ビットのJava仮想マシン(JVM)を実行している場合オペレーティングシステム がx64バージョンであっても、x86 フォルダのファイルを削除してください。 x64プロセッサ上の64ビットJVMを実行している場合は、 x64 フォルダのsqljdbc_auth.dllファイルを使用してください。 IA-64プロセッサ上で64ビット JVMを実行している場合は、IA64 フォルダの sqljdbc_auth.dllファイルを使用してください。

また、java.libary.pathシステムプロパティを設定して、sqljdbc_auth.dllのディレクトリを指定することもできます。 JDBCドライバがデフォルトのディレクトリにインストールされている場合たとえば、あなたは以下の仮想マシン(VM)を使用して、DLLの場所を指定することができ、Javaアプリケーションが起動される引数:

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

Googleの最初に表示されたJDBCドライバは、古くなっています。私はアップグレードし、指示に従って、それは完全に働いた。 – zneak

関連する問題