2017-07-07 10 views
0

私は複数のサーバーのデータベースに接続し、すべて同じクエリを実行しているPythonスクリプトを作成しています。 問題は、一部のサーバーのデータベースがロックされているため、同じロックを解除する方法を理解する必要があるか、タイムアウトを使用してサーバーの一部をスキップして残りのサーバーでクエリを中断しないで実行できるかどうかです。エラー:データベースがsqlite3でロックされています

+0

ロックされたデータベースをスキップするように 'try catch 'に入れますか? – WhatsThePoint

+3

ここで説明したガイドライン(https://stackoverflow.com/help/how-to-ask)を使用して質問を改善してください。 –

+0

ロックを解除するには、これらのデータベースにアクセスしている他のプロセスを強制終了します。 –

答えて

0

sqlite3.connect()は、パラメータ(秒単位)がtimeoutです。

ただし、データベースをクライアント/サーバーソリューションに変更することをお勧めします。 SQLiteは、単一のプログラムのために大きなデータベースを扱うことはOKですが、複数のプログラムからの同時アクセスを処理することはあまり良くありません。 MySQLまたはPostgresはあなたの方がはるかに優れています。

+0

お返事ありがとうございます。 はい、タイムアウトパラメータを使用しましたが、動作していません。私はデータベースのロックを解除することができるように他の方法がありますか、同じをスキップすることがあります。 – Kajal

関連する問題