检测sqlite3事务

时间:2011-09-14 17:38:21

标签: c sqlite locking

当我在sqlite3基础上开始一个事务并插入一些东西时。当然,它会有一个锁定和一个相应的日志文件。同时,可能有另一个C程序运行一些sqlite pragma integrity_check,但不能运行“in transaction”。

想要在做任何事情之前检测交易。但我没有成功。在sqlite3的源代码中确实有inTransaction,但不幸的是它是一个不透明的结构....

所以,请帮帮我T_T

1 个答案:

答案 0 :(得分:1)

我不知道我是否理解你的问题,如果我错了,请纠正我。你想知道数据库是否被锁定了吗?

我在python中使用SQLite,所以也许在C中你可以做更复杂的事情。我认为SQLite在被锁定时会返回SQL_BUSY。您可以为此情况定义自己的处理程序。

结帐this page,也许this one

如果获得SQL_BUSY,您可以尝试执行操作并重试或执行任何操作。

相关问题