1

pentaho data integration 4.1 (Kettle) を使用して ETL システムを構築しています。私の顧客は、ウィンドウ認証を使用してデータベース (MS SQL Server) に接続する必要があります。Kettle がそれをサポートしていることは知っていました。ただし、Kettle ジョブを実行すると、例外がスローされます

"I/O Error: SSO Failed: SSPI Not Initialized".

フォーラムの記事から、ライブラリsqljdbc_auth.dlljre/binフォルダーにコピーします。結果は非常に良好で、ウィンドウ認証を使用して SQL サーバーに接続できます。しかし、この関数は安定していません。つまり、うまく機能することもあれば、例外をスローすることもあります

"I/O Error: SSO Failed: SSPI Not Initialized".

このエラーを修正する方法を教えてください。

ありがとうございました。

4

3 に答える 3

0

MSSQL 2008 で JDBC 1.2.2 を使用しているときに同じ問題が発生しました。ドライバーにバグがあり、複数の接続で初期化するとランダムにクラッシュすることが判明しました。

DB への初期接続を 1 つだけ使用した場合、このエラーは発生しませんでした。

この問題は、以降のバージョンの JDBC で修正されています。現在 1.3.0 を使用していますI/O Error: SSO Failed: SSPI Not Initializedが、起動することはありません。

于 2013-08-01T14:00:03.563 に答える
0

JTDS ドライバーを使用していますか? ntlmauth.dll と組み合わせて試してみてください。これは、さまざまなリモート sqlserver データベースに接続している Windows Server 2003 で PDI を実行している場合に最適です。

このフォルダーに DLL を配置します。

libswt\win64

于 2012-06-08T08:32:22.470 に答える
0

SQL Server 2008 に接続するには、「Microsoft JDBC Driver 4.0 for SQL Server」をインストールし、sqljdbc_auth.dll へのパスを %PENTAHO_DI_JAVA_OPTIONS% の Spoon.bat に追加する必要がありました。このような:

set OPT=%PENTAHO_DI_JAVA_OPTIONS% "-Djava.library.path=%LIBSPATH%;C:\PROGRA~1\MICROS~1.0FO\sqljdbc_4.0\enu\auth\x86;C:\PROGRA~1\IBM\SQLLIB\BIN" "-DKETTLE_HOME=%KETTLE_HOME%" "-DKETTLE_REPOSITORY=%KETTLE_REPOSITORY%" "-DKETTLE_USER=%KETTLE_USER%" "-DKETTLE_PASSWORD=%KETTLE_PASSWORD%" "-DKETTLE_PLUGIN_PACKAGES=%KETTLE_PLUGIN_PACKAGES%" "-DKETTLE_LOG_SIZE_LIMIT=%KETTLE_LOG_SIZE_LIMIT%"

醜いですが、これが Windows での Java です。しかし、今ではかなり確実に動作します。

于 2013-02-01T22:52:19.543 に答える