2013-12-13 33 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