我使用實體框架6.無法通過應用程序訪問SQL Server的MDF文件,SQL Server Management Studio中,或VS服務器資源管理器
在C#的Windows應用程序的工作我有,我用創建.mdf
文件數據庫SQL Server Management Studio。
該程序將打開並運行良好的幾次。最終,看似隨機,它不會再開放。這不一定要通過我的應用程序發生。有時只有通過VS Server Explorer才能停止訪問。
該應用說登錄失敗。
SQL Server Management Studio表示文件無法訪問或正在被另一個進程使用。
此外,我可以移動文件。這通常意味着沒有使用它的過程。爲什麼會認爲sql有?
我已經嘗試了幾十種在線搜索的解決方案。我嘗試過結束進程,結束任務,重新啓動或停止SQL Server服務。我嘗試了許多不同的連接字符串設置。沒有任何工作,直到我重新啓動我的電腦。
我的電腦上還有其他數據庫能正常工作。它可以是我的代碼嗎?我在做什麼來鎖定文件?它可以是數據庫嗎?它是否腐敗?
任何和所有的幫助表示讚賞。
連接字符串是:
string sConnectionString =
@"metadata=res://*/DataModel.MoneyDataModel.csdl|
res://*/DataModel.MoneyDataModel.ssdl|
res://*/DataModel.MoneyDataModel.msl;
provider=System.Data.SqlClient;
provider connection string='
Data Source = (LocalDB)\MSSQLLocalDB;
Initial Catalog=" + Settings.Default.DataPath + @";
Integrated Security=True;
Timeout=True;
MultipleActiveResultSets=True;
App=EntityFramework;
User Instance = False;'";
UPDATE:
我想我找到了問題。
似乎試圖通過Google雲端硬盤文件夾中的MDF文件訪問數據庫導致該問題。
我搬了文件,它似乎工作正常。
我現在看到其他答案,確認您無法在Google雲端硬盤上保留MDF文件。
如果關閉並重新打開Visual Studio(重要的是Visual Studio的所有Windows已關閉),它有幫助嗎? – Nikolaus
不,我可以關閉VS和SQL Management Studio。 我甚至可以確保從VS和Management Studio中刪除與數據庫的連接,然後關閉它們。 該文件仍然無法在以後打開。 –
請注意,MDF文件也可以「附加」到完全獨立的SQL Server安裝。這裏有一個包含幾個方法的鏈接,以查明是否有什麼文件在這個時候打開:https://serverfault.com/questions/1966/how-do-you-find-what-process-is-holding-a -file開放式窗口 –