Sqlite sqlite3_config 报错 21

要使用Sqlite进行开发,需要用sqlite3_config()函数设置多线程模式,结果发现调用此函数一直ERROR,错误码是21.查看了相关的错误码文档,不明所以。。。之后果断google,找到了问题的所在和解决方案(以下的意思是必须在打开数据库前进行sqlite3_config配置,否则就会出现报21这个错误)


I struggled long and hard with this as well and finally got the solution.

sqlite3_config() needs to be called before sqlite3_initialize(). However, the OS might initialize sqlite for us so I also do a sqlite3_shutdown() before the sqlite3_config() i.e. 1) sqlite3_shutdown() 2) sqlite3_config() 3) sqlite3_initialize().

Then its also necessary to use the same connection for every query as it is the access to the database connection that gets serialized. As described herehttp://www.sqlite.org/capi3ref.html#sqliteconfigserialized

So I create a connection as soon as the app starts up and the pass that connection to every class that needs it.

地址:http://stackoverflow.com/questions/7795973/setting-sqlite-config-sqlite-config-serialized-returns-sqlite-misuse-on-ios-5
 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值