gpt4 book ai didi

c++ - Qt-共享同一数据库的应用程序

转载 作者:行者123 更新时间:2023-12-02 10:39:24 24 4
gpt4 key购买 nike

我有一个应用程序使用:

QString databasePath = QStandardPaths::writableLocation(QStandardPaths::ConfigLocation);
databasePath += "/MyApp.db";
qApp->setProperty("MYAPP_DATABASE_PATH", databasePath);

为数据库创建路径

有没有办法让另一个应用程序使用相同的路径来访问相同的数据库?

最佳答案

从SQlite常见问题解答:

SQLite使用读取器/写入器锁来控制对数据库的访问。 (在Win95 / 98 / ME中,它不支持读取器/写入器锁定,而是使用概率模拟。)但是请小心:如果数据库文件保存在NFS文件系统上,则该锁定机制可能无法正常工作。这是因为fcntl()文件锁定在许多NFS实现中都被破坏了。如果多个进程可能试图同时访问文件,则应避免将SQLite数据库文件放在NFS上。在Windows上,Microsoft的文档说,如果您没有运行Share.exe守护程序,则锁定可能在FAT文件系统下不起作用。拥有丰富Windows经验的人告诉我,网络文件的文件锁定非常容易出错,并且不可靠。如果他们说的是真的,那么在两台或更多台Windows计算机之间共享SQLite数据库可能会导致意外问题。

关于c++ - Qt-共享同一数据库的应用程序,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50994579/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com