0

私は単純なデータベースを操作してクエリを実行する単純な Web サービスを持ってい.mdfます。

私は IIS を使用しており、それを動作するアプリケーションにしています。

この Web サービスのすべての機能をどこからでもアクティブにできます。

しかし、データベースにクエリを実行しようとすると、次のエラーが発生します。

System.Data.SqlClient.SqlException (0x80131904): ログインによって要求されたデータベース "ゲートウェイ" を開けません。ログインに失敗しました。
11-27 21:32:01.437: W/System.err(765): ユーザー 'IIS APPPOOL\masn' のログインに失敗しました。

私の接続文字列は次のとおりです。

<add name="gatewayConnectionString" 
     connectionString="Data Source=.\SQLEXPRESS;Initial Catalog=gateway;Integrated Security=True" 
     providerName="System.Data.SqlClient"/>

では、どうすれば機能させることができますか?接続文字列を変更しますか? どこかでパーミッションを変更しますか?

4

1 に答える 1

1

エラーは、Webサービスが実行されているアカウントがデータベースにアクセスできないことを示しています。接続文字列で信頼できる接続を指定したため、IISでサービスのアプリプールに指定されたアカウントを使用してSQLサーバーにログインします。

解決策は、アプリプールアカウント(IIS APPPOOL \ masn)にgatewayデータベースへのアクセスを許可するか、接続文字列を変更して、データベースにアクセスできるユーザー名とパスワードを含めることです。

<add name="gatewayConnectionString" connectionString="Data Source=.\SQLEXPRESS;Initial Catalog=gateway;User ID=someuser;Password=somepassword" providerName="System.Data.SqlClient"/>

パスワードをどこかに保存する必要がないため、信頼できる接続を使用することをお勧めします。

于 2012-11-27T20:46:57.320 に答える