SQL Server 2008 Expressを使用しているプロジェクトで作業しています。私はSQLEXPRESS
というインスタンスを持っていた私は、このコネクション文字列を経由してDBへの接続に使用:.edmxファイルによって生成された接続文字列を使用してSQL Server 2016 Developerに接続できません
<add name="MyConn" connectionString="metadata=res://*/MyDataModel.csdl|res://*/MyDataModel.ssdl|res://*/MyDataModel.msl;provider=System.Data.SqlClient;
provider connection string="data source=PCNAME\SQLEXPRESS;initial catalog=DbName;integrated security=True;MultipleActiveResultSets=True;App=EntityFramework"" providerName="System.Data.EntityClient" />
この接続文字列が最初に.edmx
ファイル(私はASP.NET MVCプロジェクトに取り組んでいる、データベースによって生成されました、エンティティフレームワーク)とそれは正常に働いた。
デベロッパーライセンスをインストールしました。インストールプロセス中に、デフォルトのインスタンス(MSSQLSERVER
)を使用しました。詳細については、生成されたInstanceIDはMSSQL13.MSSQLSERVER
です。
私のソリューションでは、新しいSQL Serverでテーブルを再生成するためのSQLプロジェクトがあります。私は簡単にウィザードを介してサーバーに接続することができます。
SQL Server Management Studioを使用して、サーバー上のすべてが正常であることを確認しました。完全に動作します(テーブルが生成され、接続は正常でした)。
しかし、私のコードは、サーバーに接続することができませんし、体系的にここerror 26 - can't locate server instance
で最初の呼び出しに失敗したことは、私がこれまで試したものです:
- 変更の
data source
パラメータ=>は動作しませんlocalhost
、.
、.\MSSQLSERVER
、.\PCNAME
、PCNAME.MSSQLSERVER
、PCNAME.MSSQL13.MSSQLSERVER
、DOMAIN.MSSQLSERVER
、DOMAIN\PCNAME
にかかわり列 - は、
.udp
ファイルを作成して自分のサーバーに接続し、コピー/生成された接続文字列を貼り付ける彼らは - ある=>実行しているSQLサービスを確認:
Provider=SQLOLEDB.1;Integrated Security=SSPI;Persist Security Info=False;Initial Catalog=MyDB;Data Source=PCNAME
=> - を動作しません、私の.edmxファイル(および再生成接続stirng)=>は
- はthis suggestion =を確認して動作しません>すべての接続ウィザードを実行し、なぜそれはすでに
正しかった(SSMS、 .udl
ファイル、.edmx
発電、私のDBプロジェクトを)動作しているようですが、私のコードはサーバ?私はコードの行を変更しませんでした。
編集:私は、同じサーバー上のログデータベースを持っているクレイジーなことは、コネクション文字列が
<add name="NLogConn" connectionString="Data Source=localhost;initial catalog=DBLOG;integrated security=True" providerName="System.Data.SqlClient" />
あり、それは、実際にネットワークエラーをログに記録される!!それは本当に接続文字列エラーまたはEFエラーですか?私は最新のEFバージョン6.1.3をEF(メインとDALのレイヤー)を参照する各プロジェクトで使用しています
1 - 私はEF 6.1.3、最新バージョンを使用しています。 2 - 私は間違っている場合私を修正しますが、私はEFを使用する場合、私はプロバイダとしてSystem.Data.EntityClientを使用しなければならないと思いますか? 3 - EFを参照する各プロジェクトには、独自の設定ファイル(メインプロジェクトとDALのみ)があり、接続文字列がすべて同じであることを確認しました。また、元の投稿に編集しました – user2687153
あなたの例で示した接続文字列は、EF接続文字列ではありません。すべてのメタデータが必要です: 'metadata = res://*/Tester.csdl..etc'この接続文字列がEFによって生成された生成ファイルを参照していることを示します。 – djangojazz
私は 'MyConn'を与えた最初のものに' metadata = res:// 'をコピー/ペーストしました(これはうまくいかないようです)。もう1つは実際にEFによって生成されたものではなく、これらのメタデータは必要ありません。 – user2687153