2

ASP.NET MVCアプリケーションを展開していますが、web.configで問題が発生しています。アプリケーションはサーバーにデプロイされますが、別のオフサイトサーバー上のデータベースにアクセスします。データベースにアクセスするページを読み込もうとすると、次のエラーが発生します。

'/'アプリケーションのサーバーエラー。


ユーザー'LOCALSERVERNAME$'のログインに失敗しました。説明:現在のWebリクエストの実行中に未処理の例外が発生しました。エラーとエラーがコードのどこで発生したかについての詳細は、スタックトレースを確認してください。

例外の詳細:System.Data.SqlClient.SqlException:ユーザー'LOCALSERVERNAME$'のログインに失敗しました。

web.configの接続文字列は次のようになります。

<connectionStrings>
<add name="ApplicationServices" connectionString="data source=.\SQLEXPRESS;Integrated Security=SSPI;AttachDBFilename=|DataDirectory|aspnetdb.mdf;User Instance=true" providerName="System.Data.SqlClient" />
<add name="AppEntities" connectionString="metadata=res://*/Models.Model.csdl|res://*/Models.Model.ssdl|res://*/Models.Model.msl;provider=System.Data.SqlClient;provider connection string=&quot;Data Source=EXTERNALSERVERNAME;Password=****;User ID=****;Initial Catalog=AppData;Integrated Security=True;MultipleActiveResultSets=True&quot;" providerName="System.Data.EntityClient" />
</connectionStrings>

したがって、エラーは、ファイルをホストしているだけのローカルサーバーの認証に関するものです。データベースと相互作用しないアプリケーション内のプレーンASPページは適切に提供されています。この問題は、まったく別のサーバー上にあるデータベースにアクセスしようとしたときにのみ発生するようです。また、オフサイトサーバーの接続文字列が正しいことも知っています。これは他のアプリケーションでも機能します。

設定を処理することはめったになく、非常に制限された環境で作業しているため、トラブルシューティングが困難でした。どんな助けでも大歓迎です。

4

1 に答える 1

4

これは通常、データベースにアクセスしているサーバーが、アクセスしようとしているデータベースへのアクセス許可を持たない別のマシンにあることを意味します。詳細はこちら

于 2012-08-28T14:46:45.613 に答える