如何处理DatabaseIOException文件系统错误(12)

时间:2012-03-15 18:57:34

标签: sqlite blackberry

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

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

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

DatabaseIOException File System Error (12)

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

我想我的一个问题是:

如果一个接一个地创建了与数据库文件的两个连接并且抛出了错误,那么两个连接是否会死掉,或者第一个连接是否完成它正在做的事情?

此外,处理此类场景的最佳方法是什么。在打开另一个连接之前应该执行哪些检查?

非常感谢。

1 个答案:

答案 0 :(得分:1)

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