現在、ライブデータを変更しないようにテスト目的でデータベースのローカルコピーに接続しようとしています。データにアクセスする際のLocalDbエラー "オープンしたときに基になるプロバイダが失敗しました"
私はEntity Frameworkの(.NET 4.5)でMVCを使用している、と私はEFを介してデータにアクセスしようとするたびに、私は現在、このエラーに実行しているよ:
An exception of type 'System.Data.EntityException' occurred in System.Data.Entity.dll but was not handled in user code
Additional information: The underlying provider failed on Open.
これをしようとしている機能ですデータにアクセスする - エラーが
public IEnumerable<Client> GetClients()
{
List<Client> clients = (from c in this.repository.Clients select c).ToList();
return clients;
}
最初の行で発生ここでは、同様のapp.configの私の接続文字列です:
<add name="EntitiesConnectionString" connectionString="metadata=res://*/EFName.csdl|res://*/EFName.ssdl|res://*/EFName.msl;provider=System.Data.SqlClient;provider connection string="Data Source=(LocalDb)\v11.0;Initial Catalog=testdb;Integrated Security=True;Pooling=False"" providerName="System.Data.EntityClient" />
私は作成したローカルDBを管理するためにVisual Studio 2015に付属の統合SQL Server Expressを使用しています。私が見つけたことを
詳細情報:
"Cannot open database \"testdb\" requested by the login. The login failed.\r\nLogin failed for user 'NT AUTHORITY\\SYSTEM'."
私はおそらく何かが接続文字列に問題がある、私は私が作成したDBに設定されたすべての権限を持っていることを信じていないのですか?
編集:私は 'NT AUTHORITY \ NETWORK SERVICE' は、ユーザを追加し、その後、私も試みた
運なしでMS SQL Server Management Studioで 'db_ownerの' ロールにそれを追加しました
資格情報と「db_owner」ロールを持つ新しいログインとユーザーを作成するために、同じ「ログインがユーザーのユーザーに失敗しました」というメッセージが表示されます。
これは私が作成したテストユーザーを使用している接続文字列です:
<add name="EntitiesConnectionString" connectionString="metadata=res://*/EFName.csdl|res://*/EFName.ssdl|res://*/EFName.msl;provider=System.Data.SqlClient;provider connection string="Data Source=(LocalDb)\v11.0;Initial Catalog=testdb;Integrated Security=False;Persist Security Info=True;User ID=test;Password=password"" providerName="System.Data.EntityClient" />
[MSSQLエラー「基になるプロバイダーがOpenで失敗しました」](の可能性のある重複http://stackoverflow.com/questions/2475008/mssql-エラー - 基礎プロバイダ - オープンで失敗しました) –
私はObjectContextを使用していますが、これは投稿されたソリューションでは動作しません。また、リンクしているブログ記事を読んで、MS SQL Server Management Studioで 'NT AUTHORITY \ NETWORK SERVICE'ユーザーを追加することを提案しました。これもやってみましたが、同じエラーが表示されています。 –
プロバイダのSystem.Data.SqlClientはどのように定義されていますか?あなたはそれを再インストールしてみましたか? – DevilSuichiro