如何在C#中更改Sqlite数据库的“journal_mode”

时间:2017-09-28 15:59:04

标签: c# sqlite insert sqlite-journal-mode

按照Sqlite PRAGMA的说明,我发现PRAGMA schema.journal_mode;更改了journal_mode并给出了我选择off的选项以提高插入功能的性能。我写道:

SQLiteConnection m_dbConnection = new SQLiteConnection("Data Source=MyDatabase.sqlite;Version=3;PRAGMA Schema.journal_mode=off;");

打开名为MyDatabase.sqlite的数据库和命令

PRAGMA Schema.journal_mode=off;

最后编写,我相信关闭了sqlite数据库的日志,但我不知道如何做到这一点,如果这是正确的方式那么我做错了因为我看到了添加PRAGMA命令后性能没有变化。

我从Tigran's Blog Post on Sqlite

中引用的链接下载了Sqlite库

1 个答案:

答案 0 :(得分:2)

PRAGMA关键字不适用于连接字符串。正确的连接字符串语法是:

SQLiteConnection m_dbConnection = new SQLiteConnection("Data Source=MyDatabase.sqlite;Version=3;journal mode=Off;");

发现这些的一种方法是使用SQLiteConnectionStringBuilder对象:

SQLiteConnectionStringBuilder lcb = new SQLiteConnectionStringBuilder();
lcb.JournalMode = SQLiteJournalModeEnum.Off;
lcb.DataSource = sqlFile;
lcb.Version = 3;

string myLtConnStr = lcb.ConnectionString;

结果:

  

" journal mode = Off;数据源= \" C:\ SQLite Dbs \ mydata.db \&#34 ;; version = 3"

某些数据库提供程序有很多选项 - 特别是关于DateTime处理和选项 - 可以通过这种方式切换。了解语法后,您可以忽略ConnectionStringBuilder对象。