「ほかのユーザーが同じデータを同時に変更しようとしているので、プロセスを中止しました。 」のメモ。
Access97
昨夜、更新クエリ中に件のメッセージが出て・・・。
はじめは(久しぶりに)DBが壊れたのかと思ったがそうではなく、データ型を[メモ型]で設定しているフィールドの更新(Aの内容をBに書き換え)に詰まっている模様。
-
Microsoft Jet 3.51 (Jet35upd.exe) Readme ファイル
http://office.microsoft.com/ja-jp/access/HA010506481041.aspx
エラーメッセージ | 原因/問題 | |
---|---|---|
3197 | ほかのユーザーが同じデータを同時に変更しようとしているので、プロセスを中止しました。 | このエラーは通常、長い値の列 (OLE データ型またはメモデータ型) に不正なデータが含まれているときにも発生します。長い値の列は、通常行が格納されているページとは別のページに格納されます。テーブルのスキーマに長い値の列がある場合は、Jet データベースエンジンはデータの行を読み取るときに長い値のページを読み取ろうとします。長い値のページを読み取るために、データの行にはポインタがあります。Jet データベースエンジンがデータ列にあるポインタから長い値のページを正確に読み取れなかった場合にこのエラーが発生します。Microsoft Access のデータウィンドウでこの動作を示す列を表示しているときは、通常、列全体がナンバー記号 (#) で表されます。 |
メッセージ的にはDBの破損も考えられるけど、過去の経験(壊れたDBはオープン不能になる)的に上記だろうということで復旧処理。
更新は不可だけどテーブルの参照はできるので処理としては、
-
メモ型フィールド以外のフィールドを新しいテーブルに書き出し
-
メモ型フィールドをExcelとかテキストに出力
-
2で出力したデータをインポート
-
1と3で出来たテーブルを合体
以上
3のインポート処理でエラーになるデータは弾かれるだろうという甘い考え(期待)のもとに処理したところ成功。
終電に間に合ったw
はじめはロックファイルの問題だろうと高をくくって再起動かけたのは内緒w
Accessのデータベースのツボとコツがゼッタイにわかる本2013/2010対応
- 作者: 立山秀利
- 出版社/メーカー: 秀和システム
- 発売日: 2014/06/16
- メディア: 単行本
- この商品を含むブログを見る
まあでも、再起動は基本だよねぇ。