2016-09-24 4 views
0

Это может быть связано с попыткой подключения к местоположению URI на сервере, поэтому я прочитал, что мне нужен параметр SQLiteConnection (..., true) в SQLiteConnection. Может ли кто-нибудь указать, почему этот метод или строка подключения неверны? Я пробовал несколько вариантов ...SQLite.net C# connection string error

oConnection = new System.Data.SQLite.SQLiteConnection("Data Source=" + sFileName + "; Version=3; foreign keys=true;", true); 

sFileName в формате "\\ aServer \ проекты \ Database.xxxx".

+0

sFIleName должен быть полный путь к файлу БД. («C: \ DataBases \ db.sqlite). –

+0

Да, это так. Есть проблема, потому что это путь к серверу? – Curtis

+0

Ary вы пытаетесь подключиться внутри сервера или удаленного? –

ответ

0

Внешние ограничения ключа по умолчанию отключены (для обратной совместимости), поэтому их необходимо активировать отдельно для каждого подключения к базе данных. Приложение также может использовать инструкцию PRAGMA foreign_keys для определения того, включены ли в данный момент внешние ключи. Следующий сеанс командной строки демонстрирует это:

sqlite> PRAGMA foreign_keys = ON;

SQLiteConnection connection = new SQLiteConnection("Data Source=" + sFileName + "; Version=3;", true); 
    connection.Open(); 
    SQLiteCommand mycommand = new SQLiteCommand(connection); 
    mycommand.CommandText = "PRAGMA foreign_keys=ON"; 
    mycommand.ExecuteNonQuery(); 
    connection.Close(); 
+0

Я читал в нескольких сообщениях, что это может быть выполнено в строке соединения, аналогично тому, что я показал. Возможно ли включение внешних ключей в строку соединения? – Curtis