質問

SmartFoxServer (SFS)のための「サーバーサイド拡張」を書いています。ログインスクリプトでは、MS SQL Serverへの接続を行う必要があります。これは、JDBCを使用して実行しようとしています。Debug環境でJDBCコードをテストし、大丈夫です。

しかし

SFSの「拡張」フォルダにサーバーサイドの拡張子を置くと(スペックに従って)、com.microsoft.sqlserver.jdbc.SQLServerExceptionが発生しました:

「このドライバは統合認証用に設定されていません。」。

このエラーのためにグーグルして、通常はファイルsqljdbc_auth.dllがシステムパスにないためであることがわかりました。このファイルをシステムパスのフォルダにコピーし、まだ機能しません。

他の提案?

役に立ちましたか?

解決

さまざまなプロセッサアーキテクチャ用のSQLJDBC_AUTH.DLLのバージョンが異なります(x86 / x64 / ia64)。 SFSサーバーでどちらを使用していますか?

SFSが実行されているJVMのアーキテクチャと一致するものを選択する必要があります。そのため、64ビットマシンで32ビットのJavaを実行している場合は、x64バージョンではなくx86バージョンが必要です。

私は以前SFSを使用していないので、それがどこにでもログを書き込むかどうかわかりません。そうであれば、これらのログを見てみる価値があるかもしれません。何かが役立つかどうかを確認してください。

編集:C:¥Program Files(x86)とは対照的に、C:¥Program Filesが実行されているため、SFSが64ビットのJavaを使用していることを100%確信できません。 。

他のヒント

Windows認証を使用する場合統合セキュリティ

  1. Microsoft Site
  2. から sqljdbc_6.0.8112.100_enu.exe をダウンロードしてください。
  3. EXEをインストールする(Zip Pathの指示を読む)
  4. コピーSQLJDBC_4.0 / ENU / AUTH / X64 / SQLJDBC_AUTH.DLL~

    Java / JRE7 / BIN

    java / jre7 / lib

  5. このYouJがHibernateツールに接続してデータベースをデータツールにプルするには

あなたのJREフォルダに.dllファイル: -
私は同じ問題に直面していて、その後、JREフォルダのオペレーティングシステムに応じてSQLJDBC_AUTH.DLL(x86またはx64)を配置しました。これはあなたがこれを試すことができる私のために働いた。

MicrosoftからJDBCドライバ(Ver 7.2)をダウンロードし、 sqljdbc_auth.dll をc:¥Program Files¥Java¥JRE¥BIN、C:¥Program Files¥Java¥JDK¥binをコピーします。フォルダ。Java 32ビットを実行している場合は、プログラムファイル(x86)フォルダに移動します。

In my case, I did the following to resolve:

Downloaded the Microsoft JDBC Driver 8.2 for SQL Server (zip) (found here - https://docs.microsoft.com/en-us/sql/connect/jdbc/download-microsoft-jdbc-driver-for-sql-server?view=sql-server-ver15).

Then in the zip file, I went into the following folders:

sqljdbc_8.2 > enu > auth > x64

and the copied "mssql-jdbc_auth-8.2.2.x64.dll" to C:\Program Files\Java\jdk-12.0.1\bin

i had faced same issue for the following windows authentication string

jdbc:sqlserver://host:1433;integratedSecurity=true

the default authenticationScheme=NativeAuthentication, So it might depends on some microsoft dlls. To fix it, the update authenticationScheme as NTLM as below

jdbc:sqlserver://host:1433;authenticationScheme=NTLM;integratedSecurity=true;domain=myDomain

note: username given was without domain

ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top