4

Perl DBIでデッドロックを検出する適切な方法は何ですか?

使用する必要がありますeval { }か?どの例外をキャッチしますか?

4

1 に答える 1

2

答えはDBMSに依存します。

一部のDBMSは、デッドロックをまったく検出しない場合があります。DB操作になんらかのタイムアウトを設定する必要があり、タイムアウトが発生した場合にDBIと関連するDBDがどのような状態になるかは明確ではありません。

一部のDBMSはデッドロックを検出してエラーを報告します。この場合、他のエラーとほぼ同じようにエラーを処理しますが、「デッドロックエラー」の特別なエラーコード処理は、使用している特定のDBMSによって異なります。

他に重要なオプションがあるかどうかはわかりません。

于 2012-10-14T12:25:12.320 に答える