0

こんにちは、デプロイ後にアプリケーションに正常にログインできないという問題があります。ASP MVC のデフォルトのログインおよびメンバーシップ プロバイダーを使用しており、ローカルホストで動作しています。しかし、デプロイ後にログインしようとすると、エラーが表示されます。

*

SQL Server への接続を確立中に、ネットワーク関連またはインスタンス固有のエラーが発生しました。サーバーが見つからないか、アクセスできませんでした。インスタンス名が正しいこと、および SQL Server がリモート接続を許可するように構成されていることを確認してください。(プロバイダー: SQL ネットワーク インターフェイス、エラー: 26 - 指定されたサーバー/インスタンスの検索中にエラーが発生しました)

*説明: 現在の Web 要求の実行中に未処理の例外が発生しました。エラーの詳細とコード内のどこでエラーが発生したかについては、スタック トレースを確認してください。

SQLExpress データベース ファイルの自動作成エラー: 接続文字列は、アプリケーションの App_Data ディレクトリ内のデータベースの場所を使用して、ローカルの Sql Server Express インスタンスを指定しています。プロバイダーは、データベースが存在しないと判断したため、アプリケーション サービス データベースを自動的に作成しようとしました。アプリケーション サービス データベースの存在を正常に確認し、アプリケーション サービス データベースを自動的に作成するには、次の構成要件が必要です。

  1. アプリケーションが Windows 7 または Windows Server 2008R2 で実行されている場合、プロバイダー データベースの自動作成を有効にするには、特別な構成手順が必要です。追加情報は http://go.microsoft.com/fwlink/?LinkId=160102で入手できます。

  2. アプリケーションの App_Data ディレクトリがまだ存在しない場合、Web サーバー アカウントには、アプリケーションのディレクトリへの読み取りおよび書き込みアクセス権が必要です。App_Data ディレクトリがまだ存在しない場合、Web サーバー アカウントによって自動的に作成されるため、これが必要です。アプリケーションの App_Data ディレクトリが既に存在する場合、Web サーバー アカウントには、アプリケーションの App_Data ディレクトリへの読み取りおよび書き込みアクセスのみが必要です。これが必要になるのは、アプリケーションの App_Data ディレクトリ内に Sql Server Express データベースが既に存在することを Web サーバー アカウントが検証しようとするためです。Web サーバー アカウントから App_Data ディレクトリへの読み取りアクセスを取り消すと、プロバイダーは Sql Server Express データベースが既に存在するかどうかを正しく判断できなくなります。これにより、プロバイダーが既存のデータベースの複製を作成しようとすると、エラーが発生します。新しいデータベースの作成時に Web サーバー アカウントの資格情報が使用されるため、書き込みアクセスが必要です。

  3. Sql Server Express がマシンにインストールされている必要があります。

  4. Web サーバー アカウントのプロセス ID には、ローカル ユーザー プロファイルが必要です。マシン アカウントとドメイン アカウントの両方のローカル ユーザー プロファイルを作成する方法の詳細については、readme ドキュメントを参照してください。

*

誰かがこれを解決する方法を知っていれば、私は本当に幸せです. ありがとうございました!

4

1 に答える 1

0

これを外部 Web サーバーに展開する場合は、web.config で接続文字列の設定を調整する必要があります。

于 2012-11-09T14:38:31.440 に答える