データベースファイルを開き、sqlite3のopen()メソッドを使用してデータベース接続を取得し、プログラムが終了するまで接続が閉じられません。コンピュータの突然の電源切断やOSクラッシュなどの予期しないエラーが発生した場合、データベースファイルのモードが破損するか、ハンドルが失われますか?具体的には、コンピュータを再起動しても書き込み可能な状態にできますか?ところで、私はエラーが発生したときにデータの損失については気にしません。突然電源オフやOSクラッシュ時にSQLite3のデータベースファイルが破損しますか?
ありがとうございました!
ありがとうございます! また、データベースに書き込まれている変更がある間に停電が発生した場合、データベースファイル(* .db)が書き込み可能なままであるかどうかを知りたいと思います。 – quantity
@quantityロックはOSレベルで行われるため、突然の障害や再起動後にfschkコードがそれをクリアし、ファイルに再びアクセスできるようにします。ロックは、ファイルの属性を変更することによって行われません。また、この記事の記事の参考文献から、「ホットジャーナル」はDBファイルにアクセスするときに自動的に処理されることが明らかです。 – Ber
ホットジャーナルファイルを削除しないでください。公式のドキュメント:[SQLiteデータベースファイルを破壊する方法](http://www.sqlite.org/howtocorrupt.html)、1.3節を参照してください。 –