web-dev-qa-db-ja.com

update-database: "SQL Serverへの接続の確立中にネットワーク関連またはインスタンス固有のエラーが発生しました"

簡単なC#プロジェクトがあります。これは、データベースのweb.configにある接続文字列です。

<connectionStrings>
   <add name="DefaultConnection" 
        connectionString="Data Source=172.17.0.47;Initial Catalog=DevSystemListe;User ID=web_access;Password=123456" 
        providerName="System.Data.SqlClient" />
</connectionStrings>

この接続が機能していることを確認しました。この接続を使用してVisual Studioからデータベースに接続でき、テーブルとデータも表示できます。

データベースをupdate-databaseで更新すると、次のエラーが発生します。

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

Entity Frameworkをアンインストールしてから再インストールしました。何も変わっていません。

23
Anaa

やっと見つけた。私のソリューションにはWebサイトプロジェクトと私のAPIがあります。問題は、ウェブサイトがスタートアッププロジェクトとして設定されていることでした。したがって、そのエンティティフレームワークは、APIのweb.configではなく、Webサイトのweb.configで接続文字列を検索しました。スタートアッププロジェクトを私のAPIに変更すると、問題は解決しました。

スタートアッププロジェクトとしてWebサイトプロジェクトを使用する場合。接続文字列をウェブサイドweb.configにコピーするだけです。

それにもかかわらず、みんなの助けに感謝します。

58
Anaa

アプリケーションが完全なIISで実行されている場合、IISの構成が必要です。アプリケーションでlocalDBインスタンスを使用できるようにするために必要です。 を参照してください) https://blogs.msdn.Microsoft.com/sqlexpress/2011/12/08/using-localdb-with-full-iis-part-1-user-profile/

0
P Walker

この接続文字列をsee data&tablesに使用できると言います-この接続をinsert新しいレコードにも使用できますか?

SQL Serverでは、ユーザーごとに、読み取りアクセスまたは書き込みアクセス、あるいはその両方を許可するかどうかを定義できます。おそらく、ユーザーがdb_datawriter許可...?

enter image description here

0
Mike Gledhill