C++ 如何在C++;节目?
我目前有两个不同的进程,一个进程写入数据库,另一个进程读取并更新第一个进程插入的数据库中的记录。每次我试图同时启动这两个进程时,数据库就会被锁定,这是有意义的。由于同时读写。我遇到了WAL,但还没有找到任何例子来说明如何在一个C++代码中启用WAL。任何帮助都将不胜感激。谢谢。要按激活它,只需运行以下语句:C++ 如何在C++;节目?,c++,database,sqlite,wal,C++,Database,Sqlite,Wal,我目前有两个不同的进程,一个进程写入数据库,另一个进程读取并更新第一个进程插入的数据库中的记录。每次我试图同时启动这两个进程时,数据库就会被锁定,这是有意义的。由于同时读写。我遇到了WAL,但还没有找到任何例子来说明如何在一个C++代码中启用WAL。任何帮助都将不胜感激。谢谢。要按激活它,只需运行以下语句: PRAGMA journal_mode=WAL 这是持久性的,只需要应用一次。SQLite是否允许从不同进程进行并发访问?我认为它被锁定,只能在一个进程内完成。如果您需要一个更健壮的数据库
PRAGMA journal_mode=WAL
这是持久性的,只需要应用一次。SQLite是否允许从不同进程进行并发访问?我认为它被锁定,只能在一个进程内完成。如果您需要一个更健壮的数据库,请考虑PASGRESs或为并发、多进程访问而明确设计的东西。@ TADMAN:看起来SQLite可以使用共享内存。博士后可以在不同的计算机上工作。这仍然是SQLite的一个问题。@MSalters我相信并发性是使用写前日志记录可以实现的。还是我弄错了?我不确定访问同一数据库的进程之间是否有可用的并发功能。根据我的经验,SQLite在一个进程中表现得非常好,但在争夺同一资源时往往表现不佳。