-1611 他のユーザーが同じデータに対して同時に変更を試みているので、プロセスが停止しました。 table MSysAccessStorage
-1206 データベース ‘|’ を開くことができません。アプリケーションで認識できないデータベースであるか、またはファイルが破損しています。 table MSysAccessStorage
-1206 データベースの形式 ‘\\のバックアップ (合計 のバックアップ (合計 NET 個) 個).accdb’ を認識できません。 table T_xxx999tbl
【同じデータに対して変更を試みている?】
なんで??そんなことしてないよ。
https://msdn.microsoft.com/ja-jp/library/cc376533.aspx
上記サイトによると
エラー番号とテキスト | 原因と対処方法 |
3218 “現在ロックされているので、更新できませんでした。” | 別のユーザーがロックしているレコードを保存しようとすると発生します。しばらくの間待ってから再度レコードを保存するようにソリューションをプログラミングするか、問題を説明するメッセージを表示してユーザーがその操作を再度実行できるようにします。 |
3197 “ほかのユーザーが同じデータに対して同時に変更を試みているので、プロセスが停止しました。” | 現在のユーザーによるレコード更新の試行開始後に別のユーザーがデータを更新すると発生します。このエラーがいつ発生するかは、使用しているロックによって異なります。
どちらの場合も、メッセージを表示して別のユーザーがデータを変更したことを通知するようにソリューションをプログラミングしてください。現在のデータを表示して、ほかのユーザーが加えた変更への上書き、または編集のキャンセルを選択できるようにすることも可能です。 |
3260 “マシン <マシン名> のユーザー <ユーザー名> によってロックされているので、更新できませんでした。” | ユーザーがロックされているレコード、またはページ レベル ロックを使用している場合はそのページを編集しようとすると発生します。ページ レベル ロックを使用している場合は、AddNew メソッドまたは Update メソッドを使用してロックされたページのレコードを保存する際にも発生します。新規レコードを保存する場合、またはオプティミスティック ロックが使用されている場合に別のユーザーがそのページをロックすると、このような状況が発生します。
しばらくの間待ってから再度レコードを保存するようにソリューションをプログラミングするか、問題を説明するメッセージを表示してユーザーがその操作を再度実行できるようにします。 |
エラー番号 3197 が -1611 に該当するのかな。
規定設定はレコードレベルでロックだよね。
オプション | 説明 |
[レコード レベルでロックして開く] |
現在開いているデータベースが既定でレコード レベルでロックされるようにします。このチェック ボックスをオフにすると、現在開いているデータベースは既定でページ レベルでロックされます。このオプションの設定は、レコードのループ処理にレコードセット オブジェクトを使用するフォーム、データシート、およびコードのデータに適用されます。SQL ステートメントを使用して一括操作を実行するアクション クエリまたはコードには適用されません。 |
MSysCompactErrorの内容から怪しげな処理を特定できそうだけれど。
納得いかないな。再現するのが難しいので継続検証としましょう。
あれ?今回はエラーテーブルが出力されてないなんでだ。
エラー発生の日付や曜日・時間に、何らかの共通項がないかどうか確認する。
その曜日や時間で定期的に稼働しているアプリはないか?
エラー発生直前に何かアプリをインストールしていないか確認する。
メモリーリークはないか?
【ネットワーク ハードウェアの障害?】
https://support.microsoft.com/ja-jp/help/283849/how-to-troubleshoot-and-to-repair-a-damaged-access-2002-or-later-datab
上記サイトに ネットワーク ハードウェアの障害について記述がある
ハードウェアによる破損は「ファイルを復元できません。」ってか。
でもどのハードウェアが原因か特定するのって大変だよね。参考になる事例はないのかな、そんなのがあれば助かるだろうな。