0

DLLを呼び出すWebアプリケーションがあります。このDLLには、SQLServerに接続する別のDLLへの参照があります。デバッグを行った後、次のエラーが生成されていることがわかりました。ユーザー'DOMAIN\username'のログインに失敗しました。これは、WebアプリがIISに展開されている場合にのみ発生し、VisualStudioを介してデバッグする場合はすべてがそれに応じて機能します。以下は、接続に使用している接続文字列です。

string strConnectionString = "user id=" + strUsername + 
                             ";password=" + strPassword + 
                             ";server=" + strServer + 
                             ";Trusted_Connection=false;database=" 
                             + strDatabaseName + ";connection timeout=30";

値はweb.configから取得されています。何かアイデアをお願いしますか?

4

1 に答える 1

1

エラーメッセージを考慮すると、アプリケーションは提供された接続文字列をまったく使用していないようです。代わりに、統合されたWindowsセキュリティを使用してデータベースにログオンしています。これは、ローカルマシン上にあり、SQLサーバーがローカルにインストールされているがIISにはインストールされていない場合に機能します。これは、アカウントにSQLサーバーにログオンする権限がないためです。

アプリケーションをデバッグして、指定した接続文字列を実際に使用しているかどうかを確認することをお勧めします。

さらに、値を指定してコードで接続文字列を再構築するのではなく、web.configで接続文字列を使用できます。

于 2013-01-10T13:41:12.027 に答える