【问题标题】:How do I handle DatabaseIOException File System Error (12)如何处理 DatabaseIOException 文件系统错误(12)
【发布时间】:2012-03-16 11:41:51
【问题描述】:

当我启动我的 Blackberry 应用程序时,会调用一个 Web 服务。当 Web 服务响应返回时,我将该数据存储到 SQLite 数据库中。

我相当肯定在任何时候只能与 SQLite 文件建立一个连接,但这对我来说是个问题。

当用户退出时,我的应用程序在后台运行。如果他启动(调用 Web 服务和数据库方法),退出然后再次启动,我会收到错误:

DatabaseIOException File System Error (12)

现在我可以猜测这是因为两个 Web 服务调用都试图与同一个数据库文件进行交互。事实上,我的应用程序中的所有交互都与这个数据库文件有关。

我想我的一个问题是:

如果一个接一个地创建到数据库文件的两个连接并引发错误,那么是两个连接都死了还是第一个连接完成了它正在做的事情??

此外,处理这种情况的最佳方法是什么。在打开另一个连接之前应该进行哪些检查?

非常感谢。

【问题讨论】:

    标签: sqlite blackberry


    【解决方案1】:

    这里有两件事,一是您的系统没有正确唤醒,而在此之前您的数据库代码正在执行。所以很明显你会得到这个异常,第二件事可能是你没有正确关闭数据库。您可以使用finally block 关闭您的数据库。

    【讨论】:

    • 谢谢。数据库关闭得很好,但是因为我检索的数据有时非常大,我认为这更像是一个时间问题。我认为正在发生的事情是,当它仍在忙于处理其他内容时,我正在尝试打开与该数据库的连接。如果抛出此异常,连接会发生什么?他们都被杀了还是第一个被执行,第二个被杀?
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-10-14
    • 1970-01-01
    • 2015-12-15
    • 2011-07-14
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多