テーブルのロックを解除するには。

解決


田中  2018-02-05 22:47:15  No: 48973

Windows10、DelphiXe8、データーベースはAccessで開発しています。

あるプログラムで以下の様なテーブル削除を行うSQLを行ったのですが以下のメッセージが出てしまいます。

プログラム内でテーブルをオープンしっぱなしにしたりの状況は無いのですがメッセージが出力して困っています。

操作に対する原因、対処方が解りましたらお教え下さい。

「プログラム」
s :='DROP TABLE TABLE1';
FDQuery1.Close; FDQuery1.SQL.Clear; FDQuery1.SQL.Add(s); FDQuery1.ExecSQL;

「エラーメッセージ」
[FireDAC][Phys][ODBC][Microsoft][ODBC Microsoft Access Driver] テーブル 'TABLE1' は、マシン 'DESKTOP201512' のユーザー 'admin' によって使用されているので、ロックできませんでした。.

宜しくお願いします。


snail  2018-02-06 18:45:50  No: 48974

一般論なのでこれで直るかわかりませんが、
まず最初に
1.使用しているDBファイルと同じ名前で拡張子が .ldb が存在するか確認します。
2..ldb が存在した場合秀丸などで開くと中にファイルをロックしているマシンIDが入っています。そのマシンでプログラムを終了させてください。
3.それでも.ldbが残っていたらゾンビなのでエクスプローラーから消してください。
※  .ldb はプログラムがアボートすると残ってしまうので削除が必要になります。


田中  2018-02-06 19:44:58  No: 48975

snailさん、有難う御座います。出来ました。Accessは様々な箇所でクセがありますね。めげずに頑張ります。


※返信する前に利用規約をご確認ください。








  このエントリーをはてなブックマークに追加