Qt - Приложения, использующие одну и ту же базу данных

У меня есть приложение, использующее:

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

создать путь для базы данных

Есть ли способ заставить другое приложение использовать один и тот же путь для доступа к одной и той же базе данных?

c++,qt,qt-creator,qsqldatabase,

0

Ответов: 1


0

Из SQlite FAQ:

SQLite использует блокировки чтения / записи для управления доступом к базе данных. (В Win95 / 98 / ME, в котором отсутствует поддержка блокировок чтения / записи, вместо этого используется вероятностное симуляция.) Но будьте осторожны: этот механизм блокировки может работать неправильно, если файл базы данных хранится в файловой системе NFS. Это связано с тем, что блокировка файла fcntl () нарушена во многих реализациях NFS. Вам следует избегать размещения файлов базы данных SQLite в NFS, если несколько процессов могут попытаться получить доступ к файлу одновременно. В Windows документация Microsoft говорит, что блокировка может не работать в файловых системах FAT, если вы не используете демона Share.exe. Люди, которые имеют большой опыт работы с Windows, говорят мне, что файловая блокировка сетевых файлов очень затруднительна и не является надежной. Если то, что они говорят, верно, совместное использование базы данных SQLite между двумя или более машинами Windows может вызвать непредвиденные проблемы.

C ++, Qt, Qt-создатель, QSqlDatabase,
Похожие вопросы