超级奇怪的sqlite数据库被占用而删除不了的有关问题,有高手吗
超级奇怪的sqlite数据库被占用而删除不了的问题,有高手吗?
本人想动态链接sqlite数据库,中途需要替换数据库文件,所以所要删除原数据库文件
1,链接旧数据库
2,断掉链接:
问题就是文件占用,删不了,是否连接池没彻底断开啊??
------解决方案--------------------
文件还被占用着呢。用SysInternal的工具看看是不是你自己的进程打开着这个文件。
------解决方案--------------------
你确定这个mdb文件的所有连接都关了么??ADOQuery呢???如果有ADOquery直接连的这个文件,除了ImprotConnection这个ADOQuery组件也得delete才行。
------解决方案--------------------
databaseclose();
query.clear();
试一试,应该可以断开连接的
本人想动态链接sqlite数据库,中途需要替换数据库文件,所以所要删除原数据库文件
1,链接旧数据库
2,断掉链接:
- C/C++ code
qryImport->Close(); ImprotConnection->Connected =false; ImprotConnection->Close(); if(ImprotConnection) { delete ImprotConnection; ImprotConnection=NULL; } Sleep(50); asFile= ExtractFilePath(Application-> ExeName) + "XMLTemplate\\Import\\ExportTemp.db"; if (FileExists(asFile)) DeleteFile(asFile);//这里总是删除不了,文件被占用,其实我已经断开连接池了
问题就是文件占用,删不了,是否连接池没彻底断开啊??
------解决方案--------------------
文件还被占用着呢。用SysInternal的工具看看是不是你自己的进程打开着这个文件。
------解决方案--------------------
你确定这个mdb文件的所有连接都关了么??ADOQuery呢???如果有ADOquery直接连的这个文件,除了ImprotConnection这个ADOQuery组件也得delete才行。
------解决方案--------------------
databaseclose();
query.clear();
试一试,应该可以断开连接的