sqlite
yifanernei
啥都不会!
展开
-
注册回调函数处理SQLITE_BUSY错误
原文标题:Register A Callback To Handle SQLITE_BUSY Errorsint sqlite3_busy_handle(sqlite3*, int(*)(void *, int), void *); 这个函数设置了一个回调函数,当试图打开一个在另一个线程或进程中被锁住的表时,该回调函数可能会被调用。 (译注:这里用的是"可能"被调用,后面会有解译) 当遇到数据库被锁时,如果回调函数是NULL,那么SQLITE_BUSY或者SQLITE_IOERR_BLOCKED会立刻返翻译 2010-06-01 18:34:00 · 3771 阅读 · 0 评论 -
sqlite3 api sqlite3_busy_timeout 与 sqlite3_busy_handler 的使用与区别
在用多数据连接方式使用sqlite时,常常会遇到SQLITE_BUSY的错误,这是由于使用当前连接访问数据时,要申请相应级别的锁,而各个级别的锁有些是互斥的,当申请不到锁时就会返回这个错误。这时只要稍等片刻,等其它连接的操作处理完,释放了相斥的锁之后就可以取得锁并进行操作了。 但是sqlite3中并未对出现sqlite_busy后重试做默认的处理,而是提供了一种处理机制busy handle。有两个api可以创建busy handle。int sqlite3_busy_handler(sqlite3原创 2010-06-01 19:22:00 · 14677 阅读 · 0 评论 -
设置忙超时
Set A Busy Timeout sqlite3_busy_timeout sqlite3_step SQLITE_BUSY SQLITE_IOERR_BLOCKED翻译 2010-06-01 19:01:00 · 2185 阅读 · 0 评论