0

データベースにアクセスするためのクライアントサーバーモデルを使用するWindowsフォームアプリケーションを作成しました。私は、Entity Frameworkのモデルのための接続を作成し、それが次の接続文字列を使用して正常に動作します:Entity Frameworkのデータベースへのアクセスに関する問題

connectionString="metadata=res://*/CartonOrderModel.csdl| 
          res://*/CartonOrderModel.ssdl| 
          res://*/CartonOrderModel.msl; 
        provider=System.Data.SqlClient; 
        provider connection string=" 
        Data Source=.\SQLEXPRESS; 
        AttachDbFilename=E:\Databases\RollMeasurements.mdf; 
        Integrated Security=True; 
        Connect Timeout=30; 
        User Instance=True; 
        MultipleActiveResultSets=True"" 
providerName="System.Data.EntityClient" 

この接続文字列はまだ動作するかどう私は、中央DBサーバを持っているクライアント環境にデプロイする場合、私は疑問に思うし、より多くの私のアプリケーションの1つのインスタンスは、クライアントマシンからアクセスしています。

私は、これに接続文字列を変更してみました:

connectionString="metadata=res://*/CartonOrderModel.csdl| 
          res://*/CartonOrderModel.ssdl| 
          res://*/CartonOrderModel.msl; 
        provider=System.Data.SqlClient; 
        provider connection string=" 
        Data Source=.\SQLEXPRESS; 
        Initial Catalog=RollMeasurements; 
        User ID=sa; 
        Password=sapassword; 
        Connect Timeout=30; 
        User Instance=True; 
        MultipleActiveResultSets=True"" 
providerName="System.Data.EntityClient" 

しかし、私は私のアプリを実行すると、今では私にこの例外を与える:

は、SQL Serverのユーザーインスタンスを生成できませんでした。統合された 接続のみがユーザーインスタンスを生成できます。接続は になります。

これを手伝ってください。ありがとう!

答えて

2

私はあなたがUser Instance=Trueを削除(または明示的Falseに設定)しなければならないと思います。ユーザーインスタンスはSQL Expressデータベースのローカルコピーであり、中央DBを持つマルチユーザー環境での作業には適していません。

+1

ありがとう、私は例外を完全に読む必要があったと思います。 –

0

中央サーバーにアクセスする場合は、データソース=。\ SQLEXPRESSを変更する必要があります。 SQL Serverの中央インスタンスに接続します。

英語は私の母国語ではありませんので、正しく質問を理解できません。

乾杯

関連する問題