在C#中,如何打开SQLite connection in WAL mode
下面是我如何在正常模式下打开:
SQLiteConnection connection = new SQLiteConnection("Data Source=" + file);
connection.Open();
// (Perform my query)
发布于 2013-04-08 10:31:35
在SQLiteConnection连接字符串中指定的工厂方法如何?
例如,用于
public static class Connection
{
public abstract SQLiteConnection NewConnection(String file);
}
public class NormalConnection : Connection
{
public override SQLiteConnection NewConnection(String file)
{
return new SQLiteConnection("Data Source=" + file);
}
}
public class WALConnection : Connection
{
public override SQLiteConnection NewConnection(String file)
{
return new SQLiteConnection("Data Source=" + file + ";PRAGMA journal_mode=WAL;"
}
}
代码没有经过测试,但我希望你能理解,所以当你使用它的时候,你可以这样做。
SQLiteConnection conWal = new WALConnection(file);
conWAL.Open();
SQLiteConnection conNormal = new NormalConnection(file);
conNormal.Open();
发布于 2013-04-08 11:48:45
下面这行就是我要找的,非常感谢Turbot,它的答案包括了它:
new SQLiteConnection("Data Source=" + file + ";PRAGMA journal_mode=WAL;")
发布于 2013-06-15 19:47:20
WAL模式的持久性
与其他日志记录模式不同,PRAGMA journal_mode=WAL是持久的。如果进程设置了WAL模式,然后关闭并重新打开数据库,则数据库将返回WAL模式。
http://www.sqlite.org/wal.html
如果我理解正确的话,这意味着您可以为数据库设置一次WAL模式,不需要在每个连接上都设置它。
您可以使用SQLite的命令行外壳来完成此操作:http://www.sqlite.org/sqlite.html
https://stackoverflow.com/questions/15870104
复制相似问题