不能只据这次返回认定是别的程序占着文件。sqlite3_close遇到本连接仍有关联的未结束对象时,就可能返回SQLITE_BUSY并保持连接打开,包括尚未最终释放的预编译语句、未关闭的BLOB句柄或未完成的备份对象。需要先核连接自身的资源生命周期。

适用的是实际调用sqlite3_close的台式电脑应用,不是所有带busy名称的查询或操作。应让维护者确认关闭的是哪个有效连接、具体调用哪个关闭接口、实际返回什么,以及关联对象是否已经完成清理。只看一个“忙”字,不能跳过连接内部对象直接去杀其他进程。
观察时把语句执行结束和对象最终释放分开。某条语句不再处理结果,不自动表示相应准备对象已经完成最终释放;同样,看到备份界面关闭,也不是对应备份对象已经结束的程序证据。若对象仍关联原连接,应由软件方按真实拥有关系处理,不能从不明地址自行构造句柄或批量清理。
另一个接口sqlite3_close_v2有不同安排:存在这些对象时可以先返回成功,把连接标成不可再使用的待销毁状态,等相关对象都结束后再自动释放。因此,也不能把任意关闭函数的成功都记成此刻所有资源已经立即消失。应用还必须停止使用已经进入相应关闭生命周期的连接,不为观察结果而继续提交查询。
风险是误判外部锁后强杀程序,或以为已经关闭而删除、替换仍有关联状态的数据库文件。下一步保留去敏的关闭接口、原返回和对象清理顺序,交原软件方核查,资料结果先回查,不重复关闭未知对象。淮安区台式电脑咨询可拨400-877-9605,说明应用及异常在退出还是备份结束阶段。电脑快修网提供信息展示和第三方维修对接,具体支持、地址与安排当次核实,关闭请求与实际资源结束分别验收。