我已經開發了C#WPF應用程序,我使用的數據庫的MDF文件, 我的連接字符串的樣子:無法打開DATABSE的登錄請求,登錄失敗,用戶登錄失敗
Data Source=(LocalDB)\v11.0;AttachDbFilename=|DataDirectory|\appDataBase.mdf;Integrated Security=True;Connect Timeout=30
這裏我我正在更換| DataDirectory |與用戶的應用程序數據文件夾。
數據庫文件是在用戶的AppData文件夾,我創建 副本.mdf
文件_users當我安裝它 客戶端的計算機應用程序數據文件夾,它的工作原理,其完美
的設置,但是當我卸載和 重新安裝,我無法連接該文件,得到錯誤:
Can't open database "C:/users/myusername/appdata/roaming/myapplication/database/appDataBase.mdf" requested by login, login failed, login failed for user..
文件是存在的,但不知何故,它使用SQL服務器,並且不能 打開它。也同時啓動應用程序的所有我創建 備份文件的時間,一個也與錯誤而失敗
System.IO.IOException: The process cannot access the file 'C:\Users\myusername\AppData\Roaming\myapplication\Database\appDataBase.mdf' because it is being used by another process.
任何人都可以給我確切的解決方案,因爲我必須只有我的客戶端計算機上使用的LocalDB,我不我希望他們讓我做任何額外的配置安裝我的應用程序,i.am仍然面臨iasue後,我改變我的代碼關閉數據庫連接主窗口關閉事件。
所以,當應用程序啓動時,我必須檢查所有打開的連接到MDF文件?並斷開它是否從上次執行打開? –
不,只是把你的代碼放在try catch中,在try和catch中處理和關閉所有的對象,所以它永遠不會產生同樣的問題。尋找一個實例並關閉它並不是一個好習慣。可能你已經打開了數據庫的連接,並忘記使其關閉尋找。 –
我研究,我發現我不應該使用(的LocalDB)\ V11.0,相反,它應該是.SQLEXPRESS,我對我的應用程序的先決條件指定安裝在客戶計算機的SQL Express,它是工作第一時間( LocalDB)\ v11.0, –