Android SQLite错误代码21

时间:2011-03-12 21:00:38

标签: android sqlite

我在我的模拟器的日志文件中遇到以下错误,我不知道该怎么做,因为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.

1 个答案:

答案 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行或更少。)