这可能与尝试连接到服务器上的URI位置有关,因此我读到我需要SQLiteConnection中的“SQLiteConnection(...,true)”参数。有谁可以说明为什么这个方法或连接字符串是错误的?我尝试了几种变化......
oConnection = new System.Data.SQLite.SQLiteConnection("Data Source=" + sFileName + "; Version=3; foreign keys=true;", true);
sFileName的格式为“\\ aServer \ projects \ Database.xxxx”。
答案 0 :(得分:0)
默认情况下禁用外键约束(为了向后兼容),因此必须为每个数据库连接单独启用。应用程序还可以使用PRAGMA foreign_keys语句来确定当前是否启用了外键。以下命令行会话演示了这一点:
源码> 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();