2013-12-13 32 views
3

看起來像SQLite數據庫連接在我調用Open()函數時並未實際嘗試打開數據庫連接。這裏有一個簡單的測試:對於不存在的數據庫,數據庫連接成功

var factory = DbProviderFactories.GetFactory("System.Data.SQLite"); 
connection = factory.CreateConnection(); 
connection.ConnectionString = "data source=NonExistentDB.db3"; 
conn.Open(); 

上面的代碼不會產生任何類型的異常。而且,之後的連接狀態爲Open。有沒有一種方法可以做到「測試連接」,它將物理地建立與數據庫的連接?

+0

運行'SELECT 1'查詢,看看它是否得到你的結果?.. – dasblinkenlight

回答

1

更改爲

connection.ConnectionString = "data source=NonExistentDB.db3;FailIfMissing=True"

如果沒有最後一個參數,它會簡單地創建一個新的數據庫,如果沒有找到該文件。

+0

謝謝JanC。這很有幫助。 – dotNET