完成更新后关闭ado连接以进行访问,并删除mdb文件

时间:2011-05-24 15:44:49

标签: delphi ms-access ado delphi-7

我正在尝试在读完之后删除mdb文件。

过程是:

copyFile(originMdb, to targetMdb);
mdbConnection.active := true;
mdbQuery.open;
readMdbFileData;
mdbQuery.close;
connection.close;
deleteFile(tagetMdb);

但是生成的ldb文件不会消失。

更新: 有没有办法告诉mdb,“我现在不再需要任何连接,关闭它,并删除ldb文件上的锁” 相反,mdb引擎在释放与adoConnection建立的连接之前等待进程结束

update2:创建一个刚刚打开和关闭连接的简单程序后,该文件被释放,但是由于我持有一个adoqury,它拒绝释放该文件。

2 个答案:

答案 0 :(得分:2)

您将需要等待关闭连接并使用jet引擎删除ldb文件。 ldb文件是由Jet数据库引擎创建的锁文件

答案 1 :(得分:1)

您需要等待,具体取决于大小或数据库。但您也可以通过创建另一个函数来直接删除ldb。

例如:

Dim locationFLD As String
locationFLD = "yourLocation"
If Dir(locationFLD & "\*.ldb") <> "" Then
   deleteFile(tagetMdb) & ".ldb";
End If