2017-11-02 4 views
0

ローカルのSQL Serverデータベースファイル(.mdf)に接続しているWPFアプリケーションがあります。私はEntity Frameworkを使用しています。ローカルSQL Serverデータベースファイルに接続

接続文字列は次のとおりです。

Data Source=(LocalDB)\\MSSQLLocalDB;AttachDbFilename=|DataDirectory|\\db_SmartPOS.mdf;Integrated Security=True 

ディレクトリは次のように変更されます。

string doc = System.Environment.GetFolderPath(Environment.SpecialFolder.MyDocuments); 
AppDomain.CurrentDomain.SetData("DataDirectory", doc + @"\SmartPOS\"); 

私はそれをテストし、その指定したディレクトリに手動で.mdfファイルをコピーして、すべてがうまく機能しています私のメインマシンでは、SQL Server 2014がインストールされています。

今、私はSQLLocalDBをインストールした別のPCにアプリケーションを展開しています。ただし、データベースに接続しようとすると、例外が発生します。

System.Data.EntityException。基になるプロバイダーが開けませんでした - > Sysmte.Data.SqlClient.SqlException .....指定されたローカルdbインスタンスが存在しません。

.mdfとログファイルは、上記で指定したディレクトリに配置されます。私はまた、アプリケーションがインストールされているディレクトリにそれらをコピーしようとしました。

私は何が欠けているのだろうか?

+0

は、タイプミスも可能性があります役立ちますが、MSSQLLocalDB <> SQLLocalDB –

+0

@WEI_DBAのMicrosoft SQL Server 2012は – Necro1992

+0

右をlocaldb表現していますが、同じインスタンスに名前を付けたのですか? –

答えて

0

ここでそれはどのように働いたのですか?

まず、SQL 2014の接続文字列とSQL 2012の接続文字列が異なるため、2014年に使用されたデータソース=(LocalDB)\ MSSQLLocalDBをデータソース=( LocalDB)\ v11.0です。 Entityフレームワークを使用している場合は、これを接続文字列の設定とapp.configで行う必要があります。

これが完了したら、私は他のシステムでそれをテストし、例外エラーが変更されました。今回はアプリケーションを接続することができましたが、バージョンに問題があり、アクセスできませんでした。

私はSQL Server 2014 localdbエンジンをダウンロードし、2012年を置き換え、すべて正常に機能しました!

うまくいけば、これは誰か

関連する問題