2013-12-13 2 views
3

Похоже, что соединение базы данных SQLite на самом деле не пытается открыть соединение с базой данных при вызове функции Open(). Простой тест:Соединение с базой данных удаётся для несуществующих баз данных

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

Приведенный выше код не генерирует никаких исключений. Кроме того, после этого состояние соединения составляет Open. Есть ли способ «Test Connection», который физически установит соединение с базой данных?

+0

Запустите запрос 'SELECT 1' и посмотрите, получится ли вам результат? .. – dasblinkenlight

ответ

1

Изменения в

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

Без последнего аргумента, он будет просто создать новую базу данных, если файл не найден.

+0

Thanks JanC. Это было полезно. – dotNET

Смежные вопросы