gpt4 book ai didi

android - SQLite 和 Android : unable to open database file - error 14

转载 作者:太空狗 更新时间:2023-10-29 13:25:31 24 4
gpt4 key购买 nike

我看到类似的问题已经被报道过很多次了。在我的例子中,我直接使用通过我自己的 JNI 库(不是 Android Java 层)调用的“C”API,以及最新的合并 3.8.3。所以我控制我正在处理的事情。然后,在某些操作(更新)中,我收到一条错误消息,指出它无法打开数据库文件。我没有通过 INSERT 语句得到它,只有 UPDATE。当我激活 SQLite 错误回调时,我看到以下内容:

cannot open file at line 29299 of [6c643e45c2] os_unix.c: 29299: (13) open(./etilqs_1zMsiYdpXhd3JqY) - statements aborts at 36: [UPDATE .....]

再深入一点,它似乎与日志文件有关。当我使用 pragma 将 journal_mode 设置为 MEMORY 时,问题就消失了。但是所有其他模式,如 WAL 或 TRUNCATED 都会导致相同的错误。

从 eclipse 调试代码时,我可以看到在执行 INSERT 时创建了 -journal 文件。然后在交易完成时被删除。所以它告诉我它对目录(/data/data//)有足够的权限

请注意,完全相同的代码在 Windows 上运行良好(C 和 Java),我没有收到错误。 Android 和文件访问肯定有问题。

我有办法系统地重现错误。如果有人知道我应该检查什么,那么我很乐意进行一些实验并报告结果。

最佳答案

来不及回答..

我在使用多线程时看到了同样的问题。

在您的第一个查询中发送下一个语句查询。

PRAGMA temp_store_directory = 'some writeable path'

SQLITE3 文档说“已弃用”,但是..这对我有用..

真的被弃用了吗??

祝你好运..

附言。我的 sqlite3 版本是 [sqlite-amalgamation-3100200]

关于android - SQLite 和 Android : unable to open database file - error 14,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21661814/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com