0

ちょうど私のプロジェクトを終えました。ローカル マシンでテスト済みで完全に機能していますが、ホストにデプロイすると次のエラーが発生します。

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

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

参考までに、Web.Config の接続文字列は次のようになります。

 <connectionStrings>
        <add name="TVTMainDatabaseEntities" connectionString="metadata=res://*/App_Code.TVTModel.csdl|res://*/App_Code.TVTModel.ssdl|res://*/App_Code.TVTModel.msl;provider=System.Data.SqlClient;provider connection string=&quot;data source=.\SQLEXPRESS;attachdbfilename=|DataDirectory|\TVTMainDatabase.mdf;integrated security=True;user instance=True;multipleactiveresultsets=True;App=EntityFramework&quot;"
            providerName="System.Data.EntityClient" />
        <add name="FAQString" connectionString="Data Source=.\SQLEXPRESS;AttachDbFilename=|DataDirectory|\TVTMainDatabase.mdf;Integrated Security=True;User Instance=True"
            providerName="System.Data.SqlClient" />
    </connectionStrings>

助けていただければ幸いです。

4

1 に答える 1

0

ローカル マシン (PC1) がホスト マシン (PC2) と異なるため、このエラーが発生します。

./ は ServerName を意味し、SQLEXPRESS は名前付きインスタンスです。

あなたがすべきことは、接続文字列を完成させ、ホストをローカルPCのsqlexpresログインに登録することです.(Windows認証)

Data Source=yourServerAddress/SQLExpress;Initial Catalog=YourDataBase;Integrated Security=SSPI;

または、データベースにユーザー名パスワードを作成すると、はるかに優れています(SQLサーバー認証)。

Data Source=myServerAddress/SQLExpress;Initial Catalog=yourDataBase;User Id=myUsername;Password=myPassword;

参照: connectionstring.com

よろしく

于 2012-07-16T03:17:07.557 に答える