当我启动Blackberry应用程序时,会进行Web服务调用。当Web服务响应返回时,我将该数据存储到SQLite数据库中。
我很确定在任何时候只能与SQLite文件建立一个连接,但这对我来说是个问题。
当用户退出时,我的应用会在后台运行。如果他启动(调用Web服务和数据库方法),退出然后再次启动我收到错误:
DatabaseIOException File System Error (12)
现在我可以猜测这种情况正在发生,因为两个Web服务调用都试图与同一个数据库文件进行交互。事实上,我的应用程序中的所有交互都是使用这个数据库文件。
我想我的一个问题是:
如果一个接一个地创建了与数据库文件的两个连接并且抛出了错误,那么两个连接是否会死掉,或者第一个连接是否完成它正在做的事情?
此外,处理此类场景的最佳方法是什么。在打开另一个连接之前应该执行哪些检查?
非常感谢。
答案 0 :(得分:1)
这可能是两件事情,你的系统没有正确唤醒,在此之前你的数据库代码正在执行。所以很明显你会得到这个例外,第二件事可能是你没有正确关闭数据库。您可以使用finally block
关闭数据库。