sqlite 事务提交或者回滚之后,数据库是否仍被占用 5C

今天在做对一个功能进行优化,其目的在于在往数据库存储信息之前,备份一个数据库,然后正常开启事务,插入信息,如果出现任何异常,则事务回滚,同时删除现有数据库,将备份数据库还原到原来的位置,但是在事务回滚之后尝试删除现有数据库时发现异常,现有数据库被别的进程占用,但目前已确定除了事务数据库没有别的链接了,请问事务提交或者回滚之后,如何释放占用?

4个回答

事务回滚以后,你数据库连接有没有close,事务只是回滚数据,但是你的数据库连接可能还打开这,这样会占用文件

mosse9999
mosse9999 已经close链接了,释放锁之后显示还是被占用,网上查的是可能需要清除连接池
接近 2 年之前 回复

数据库是否被占用与事务提交或者回滚没有关系,需要关闭所有数据库连接。

连接没有关闭,数据库被占用,需要调用close关闭连接

已经close链接了,释放锁之后显示还是被占用,网上查的是可能需要清除连接池

Csdn user default icon
上传中...
上传图片
插入图片
抄袭、复制答案,以达到刷声望分或其他目的的行为,在CSDN问答是严格禁止的,一经发现立刻封号。是时候展现真正的技术了!
立即提问