Android SQLite错误代码21

发布于 2024-10-22 01:50:09 字数 302 浏览 1 评论 0原文

我的模拟器的日志文件中出现以下错误,我不知道该怎么办,因为谷歌搜索没有发现任何结果。

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.

I've gotten the following error in the log files of my emulator and I don't know what to make of it because a google search turns up nothing.

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.

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

暗地喜欢 2024-10-29 01:50:09

#define SQLITE_MISUSE      21   /* Library used incorrectly */

SQLite C/C++接口文档中找到了。

如果一个或多个
使用了 SQLite API 例程
错误地。不正确的例子
用法包括调用 sqlite_exec
数据库关闭后
使用 sqlite_close 或调用
sqlite_exec 具有相同的数据库
指针同时来自两个
单独的线程。

我猜这意味着您的代码在第 95716 行左右错误地调用了接口库。

稍后。 。 .

OP 确认实际问题涉及两个线程同时访问数据库,一个尝试写入数据库,另一个尝试关闭数据库。我由此推断出有问题的代码行 95716 位于模拟器中。 (因为 OP 的代码库只有 1000 行或更少。)

I found

#define SQLITE_MISUSE      21   /* Library used incorrectly */

in the SQLite C/C++ interface documentation.

This error might occur if one or more
of the SQLite API routines is used
incorrectly. Examples of incorrect
usage include calling sqlite_exec
after the database has been closed
using sqlite_close or calling
sqlite_exec with the same database
pointer simultaneously from two
separate threads.

I'd guess that means your code is calling the interface library incorrectly around line 95716.

Later . . .

The OP confirmed that the actual problem involved two threads accessing the database at the same time, one trying to write to the db, and the other trying to close it. I'd infer from this that the offending line of code, 95716, was in the emulator. (Because the OP's code base had only 1000 lines or less.)

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文