0

我創建了一個Windows窗體應用程序,它將使用客戶機服務器模型來訪問數據庫。我創建了實體框架模型的連接,並能正常工作與下面的連接字符串:實體框架訪問數據庫的問題

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" 

我不知道當我在具有一箇中央數據庫服務器和多客戶端環境中部署它連接字符串,仍能正常工作我的應用程序的一個實例將從客戶機訪問它。

我試圖改變連接字符串這樣的:

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數據庫的本地副本,不適合在具有中央數據庫的多用戶環境中工作。

+1

謝謝,猜我需要徹底閱讀例外。 –

0

我想如果你想訪問一箇中央服務器,你需要改變Data Source =。\ SQLEXPRESS;行到一箇中央的SQL服務器實例。

英語不是我的母語,所以也許沒有正確理解這個問題。

乾杯