1

私は以下を使用するアプリケーションを持っています:

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

データベースのパスを作成する

別のアプリケーションが同じパスを使用して同じデータベースにアクセスするようにする方法はありますか?

4

1 に答える 1

0

SQLite FAQ から:

SQLite は、リーダー/ライター ロックを使用してデータベースへのアクセスを制御します。(リーダー/ライター ロックをサポートしていない Win95/98/ME では、代わりに確率的シミュレーションが使用されます。) ただし、注意してください: データベース ファイルが NFS ファイルシステムに保持されている場合、このロック メカニズムは正しく機能しない可能性があります。これは、多くの NFS 実装で fcntl() ファイルのロックが壊れているためです。複数のプロセスが同時にファイルにアクセスしようとする可能性がある場合は、SQLite データベース ファイルを NFS に置くことは避けてください。Windows では、Microsoft のドキュメントによると、Share.exe デーモンを実行していない場合、FAT ファイルシステムではロックが機能しない可能性があります。Windows の経験が豊富な人は、ネットワーク ファイルのファイル ロックは非常にバグが多く、信頼できないと言っています。彼らの言うことが本当なら、

于 2018-06-23T18:30:40.467 に答える