0

Windows 認証を使用する Android アプリケーションから SQL Server データベースに接続するために、jTDSドライバーを使用しています。FAQでアドバイスされているように、私はREADMESSOファイルを読み、言われたとおり、ネイティブ SPPI ライブラリ (ntlmauth.dll) をシステム パス (PATH システム変数で定義) に配置しました。

ここに画像の説明を入力

ただし、次のコードを使用してデータベースに接続しようとすると:

String driver = "net.sourceforge.jtds.jdbc.Driver";
Class.forName(driver).newInstance();
String connString = "jdbc:jtds:sqlserver://192.168.56.1/MyMovies;";
Conncection conn = DriverManager.getConnection(connString);

次の例外が発生します。

java.sql.SQLException: Single-Sign-On is only supported on Windows. Please specify a user name.
4

2 に答える 2

1

Androidデバイスから接続しているため、SQLサーバーに接続するためにドライバーが必要とするSSOクレデンシャルを取得することはできません。参照した設定は、DBに接続しようとしているJavaプログラムがWindowsマシン上にある場合にのみ機能します。これは、エラーメッセージで明確に示されています。

アプリケーションがDBに接続するSSOユーザーに基づく承認を持っていない限り、サーバーに接続するためのSQL Serverユーザーベースの認証メカニズムが必要であり、すべての承認手順はこのユーザーに関連付けられている必要があります。

于 2012-09-11T18:20:57.670 に答える
0

ユーザー名も指定する必要がある場合があります。

"jdbc:jtds:sqlserver://192.168.56.1/MyMovies;instance=SQLEXPRESS;user=foo"

于 2012-09-11T18:15:29.883 に答える