javaのsqliteデータベースにアクセスするプログラムの複数のインスタンス(常に同じファイル)を実行しようとしていますが、実際には複数のジョブが同じデータベースにアクセスできるかどうかはわかりません....複数のプロセスでsqlitejdbcを使用する
答えて
異なるプロセスから単一のSQLiteデータベースにアクセスしようとすると、SQLiteは適切なロックを保証するので、(あなたが使用している言語を問わず)完全に正確です。しかし、SQLiteはロックの競合を特にうまく処理しないので、複数のプロセスが同時にデータベースに絶えずアクセスしている場合は、別のデータベースを検討したり、データベースにアクセスするために単一のサーバーを使用することができます。
sqlite DBにFileLockを追加しましたが、この例外を回避するようです。 何かを挿入しようとすると、sqliteがロックを保持しているので、例外が発生するので、ドライバからの問題です... – LB40
実際には、SQLiteはロックを処理するため、並行性の問題は期待できません。いずれにせよ、SQLiteで起きたものではありません。
ただし、この解決策は完全にでスケーラブルではありません。です。それがアプリケーションに関する問題であれば、他のDBソリューションをチェックアウトする必要があります。
私はコンカレント環境でそれをするつもりはありませんでした。別のDBソリューションに切り替えることは次のステップです。 – LB40
- 1. プラグマtable_infoを使用するSQLiteJDBCとPreparedStatement
- 2. ノード・インスペクタを複数のノード・プロセスで使用する
- 3. ナゲットで複数のソリューションを使用する開発プロセス
- 4. 複数のプロセスからCloudLoggingHandlerを使用してログする
- 5. 複数のプロセス()
- 6. 複数のGearmanプロセスをPythonのマルチプロセスモジュールを使用して実行
- 7. 複数のプロセスでデバッグ
- 8. 複数のRuby EventMachinesを1つのプロセスで使用できますか?
- 9. 複数の子プロセスの親プロセスで書き込みストリームを1つだけ使用する
- 10. 複数のプロセスのセッション用外部キャッシュ
- 11. 複数Sidekiqプロセス
- 12. 複数のプロセスを使用するアプリケーションはDalvikインスタンスを共有しますか?
- 13. シグナルを使った親プロセスと複数の子プロセスのプロセス同期
- 14. --perf_basic_prof_only_functionsを使用して複数のnode.jsプロセスのフレームグラフを構築する
- 15. Erlangを使用して複数の外部プロセスを起動する
- 16. 複数の並行プロセスを使用してデータベーステーブルを空にする
- 17. 複数のプロセスが同時にSTDIN/STDOUTを使用する方法は?
- 18. 複数のPerlプロセスから同じSQLite3データベースを使用するには?
- 19. Erlangプロセスで複数のメッセージを受信
- 20. Pythonの複数のプロセスに使用するのと同じ二重パイプ()
- 21. 複数のプロセスで使用されている共有ライブラリのグローバル変数を更新する
- 22. 複数の再発するプロセス
- 23. 複数のテーブルで複数のJOINSを使用するSQLクエリ
- 24. ブートストラップで複数の列を使用する複数のフォーム
- 25. 複数の引数を持つプロセスの開始プロセス(blender.exe)
- 26. 複数のプロセス間で複数の辞書を共有する方法
- 27. 複数の列のマクロボタンを使用してプロセスを繰り返す
- 28. 複数のプロセス上のファイル
- 29. 複数のプロセスのXvfbインスタンス
- 30. 複数のプロセスを使用している場合、MPI Bcast付近のSegフォールト
私はmakeコマンドラインを表示すると、あなたの持っているようなランタイムの問題(Javaの場合、あなたのタグが正しいならば)は何もわかりません。実際にデータベースを使用するコードを表示できますか? – lothar
質問を編集しました。これは本当に特定の問題よりも一般的な質問です。 – LB40