我在我的模拟器的日志文件中遇到以下错误,我不知道该怎么做,因为Google搜索没有任何结果。
03-12 12:53:28.782: INFO/Database(688): sqlite returned: error code = 21,
msg = misuse detected by source line 95716
03-12 12:53:28.812: ERROR/Database(688): sqlite_config failed error_code = 21.
THIS SHOULD NEVER occur.
答案 0 :(得分:8)
我找到了
#define SQLITE_MISUSE 21 /* Library used incorrectly */
SQLite C/C++ interface documentation中的。
如果一个或多个,可能会发生此错误 使用SQLite API例程 不正确。不正确的例子 用法包括调用sqlite_exec 数据库关闭后 使用sqlite_close或调用 sqlite_exec与相同的数据库 指针同时来自两个 单独的线程。
我猜这意味着你的代码在第95716行周围错误地调用了接口库。
稍后。 。 强>
OP确认实际问题涉及两个线程同时访问数据库,一个尝试写入数据库,另一个尝试关闭它。我从中推断出有问题的代码行95716是在模拟器中。 (因为OP的代码库只有1000行或更少。)