我正在嘗試編寫一個應用程序,該應用程序在應用程序的文件夾中找不到應用程序,該應用程序將創建本地數據庫。我刪除的.mdf如果.mdf被刪除,找不到刪除LocalDb數據庫時指定的文件
IF EXISTS (SELECT * FROM sys.databases WHERE name = N'Test_db')
BEGIN
DROP DATABASE Test_db
END
CREATE DATABASE Test_db
ON PRIMARY (NAME=Test_db, FILENAME='...\Test_db.mdf')
我command.ExecuteNonQuery()
拋出一個異常,即使它下降的數據庫,並創建一個新的後運行此查詢。該錯誤來自命令的DROP DATABASE
部分。
其他信息:無法打開物理文件 「... \ Test_db.mdf」。操作系統錯誤2:「2(系統不能 找到指定的文件。」)。
文件激活失敗。物理文件名 「... \ Test_db_log.ldf」可能不正確。
我發現this的問題,但它沒有解決問題。
我應該使用空捕獲來防止我的應用程序崩潰嗎?
是吧'...'的路徑'mdf'文件的實際代碼,或者這是一個例子?你嘗試寫這個文件的路徑可以從你的應用程序訪問?我只用這個路徑檢查你的代碼:'d:\ Test_db.mdf',它完全正常工作 – gofr1
@ gofr1 ......是一個例子。我使用一種方法來使用'Environment.CurrentDirectory'來構建路徑,並且我只是替換了這些值以便於閱讀。但正如所述,.mdf創建得很好,它只是刪除拋出錯誤的數據庫,因爲我刪除了.mdf。 – Clint
那麼爲什麼你刪除文件,如果DROP應該這樣做? – gofr1