データ移行の案件で、30万件のデータをaccessに登録、削除していたら、急に以下のようなエラーが出て書き込めなくなりました。
SQLSTATE[HY000]: General error: -1206 [Microsoft][ODBC Microsoft Access Driver] データベース '|' を開くことができません。アプリケーションで認識できないデータベースであるか、またはファイルが破損しています。
とりえあずググる
こちらの記事を参考にさせていただきました。
Access 2010 (x64) で 2GB 以上のデータベースを扱えない
accessのサイズを確認すると、たしかに2GBを超えていました。。。
トランザクションログ?
昔SQLServerで、サイズが大きすぎてインポートできない問題を思い出し、トランザクションログを削除する機能がないか調べました。
データベース最適化で解決
データベースツール内の「データベースの最適化/修復」を押したところ、ファイルサイズが
2GB → 10MB まで小さくなったので解決しました。