2016-09-05 10 views
1

最終的なプログラムにはC#WPF EF6.0とSQL Server Expressを使用しています。接続文字列C#エンティティフレームワークSQL Server Express

私は

C:\Program Files\Microsoft SQL Server\MSSQL11.SQLEXPRESS\MSSQL\DATA 

にスクリプトとSQL Server Expressのを介してデータベースを作成し、高度なインストーラでセットアップファイルを作成していると私はこの

<add name="MyDBEntities" 
    connectionString="metadata=res://*/MyDBModel.csdl|res://*/MyDBModel.ssdl|res://*/MyDBModel.msl;provider=System.Data.SqlClient;provider connection string=&quot;data source=(LocalDB)\v11.0;attachdbfilename=|DataDirectory|\MyDB.mdf;integrated security=True;connect timeout=30;MultipleActiveResultSets=True;App=EntityFramework&quot;" 
    providerName="System.Data.EntityClient" /> 

から私の文字列接続を変更しました

<add name="MyDBEntities" 
    connectionString="metadata=res://*/MyDBModel.csdl| 
         res://*/MyDBModel.ssdl| 
         res://*/MyDBModel.msl; 
         provider=System.Data.SqlClient; 
         provider connection string=&quot; 
          Data source=.\SQLExpress; 
          integrated security=True; 
          MultipleActiveResultSets=True; 
          Initial Catalog=MyDB; 
          App=EntityFramework&quot;" 
    providerName="System.Data.EntityClient" /> 

.NET Framework 4.5およびSQL Server 2012 sp1 v11.0.300をインストールしました。私がVisual Studio 2013で使用していたもの

私のプログラムをインストールすると、すべて動作しますが、プログラムを実行すると、最初の起動時に動作しなくなりました。私は接続文字列に問題があると思う。 私は、Visual Studioでのデバッグをクリックすると、私はこのエラー

は「System.InvalidOperationException」種類の未処理の例外がEntityFramework.dll.Additional情報で発生した参照:「MyDBEntities」という名前なしの接続文字列は、中に見つかりませんでしたアプリケーション設定ファイル。

+0

エラーが発生しました.. – Venky

+0

いいえ、ただ停止しました – yasser93

+0

ビジュアルでデバッグをクリックするとこのエラーが表示されます=>「System.InvalidOperationException」タイプの未処理の例外がEntityFramework.dllで発生しました。 「MyDBEntities」という名前のファイルは、アプリケーション構成ファイルにあります。 – yasser93

答えて

1

最後に、Advanced Installerでセットアップファイルを作成できませんでした。 しかし、私はInstall Shieldで作成しました。 私の問題は、データベースの挿入、削除、または編集でした。 他のドライブに自分のプログラムをインストールしたところ問題が解決しました。 理由は、Cのプログラムファイルがreadonlyであるというジョークです。

1

これは、データベースファイルをローカルデータベースエンジンに添付していないためです。利用可能な適切なSQL Serverメソッドを使用しようとします。アプリケーション(インストール後)は、ローカルDBエンジンでデータベースを見つけることができません。

+0

どうすればいいですか? – yasser93

+0

SQL Serverでsp_attach_dbを使用してプロシージャを記述する方法はいくつかありますが、この方法は動くデータベースには置かないようにしてください。その原因は、DBを添付していないためにプロシージャを使用できないことです。詳細については、https://msdn.microsoft.com/en-us/library/ms190794.aspx – Media

+0

を使用して、接続文字列にattachdbfilenameを使用し、この場所を指定できますか?C:\ Program Files \ Microsoft SQL Server \ MSSQL11.SQLEXPRESS \ MSSQL \ DATA – yasser93

関連する問題