我有一个应用程序使用:
QString databasePath = QStandardPaths::writableLocation(QStandardPaths::ConfigLocation);
databasePath += "/MyApp.db";
qApp->setProperty("MYAPP_DATABASE_PATH", databasePath);为数据库创建路径
有没有办法让另一个应用程序使用相同的路径来访问相同的数据库?
发布于 2018-06-24 02:30:40
来自SQlite常见问题解答:
SQLite使用读取器/写入器锁来控制对数据库的访问。(在Win95/98/ME下,缺少对读取器/写入器锁定的支持,将使用概率模拟。)但是要小心:如果数据库文件保存在NFS文件系统上,这种锁定机制可能无法正常工作。这是因为fcntl()文件锁定在许多NFS实现中都被打破了。如果多个进程可能同时尝试访问SQLite数据库文件,则应避免将该文件放在NFS上。在Windows上,微软的文档指出,如果您没有运行Share.exe守护程序,则在FAT文件系统下锁定可能无法工作。有很多Windows经验的人告诉我,网络文件的文件锁定是非常错误的,也是不可靠的。如果他们说的是真的,那么在两台或更多的视窗机器之间共享一个SQLite数据库可能会导致意想不到的问题。
https://stackoverflow.com/questions/50994579
复制相似问题