【问题标题】:BlackBerry SQLite multiple connections problem黑莓 SQLite 多连接问题
【发布时间】:2013-07-01 14:57:07
【问题描述】:

我有一个关于 BlackBerry OS 5.0 及更高版本上的 SQLite 的问题。我们的应用程序有两个入口点,一个在设备启动时启动的后台进程和一个在用户单击应用程序图标时启动的 GUI 进程。这两个过程都需要对同一个数据库进行数据库访问。出于某种原因,我似乎无法打开两个与数据库的连接,当我尝试打开第二个连接时出现 DatabaseIOException(我还收到一条消息,显示“文件系统错误 12”)。另外,其中一条SQLite语句挂在'prepare'方法上,可能这与两个打开的连接有关,我不知道。

有人可以帮我解决这个问题吗?

【问题讨论】:

    标签: database sqlite blackberry connection


    【解决方案1】:

    我认为应该是因为打开了已经打开的数据库,尽量只使用一个Database.open()方法。

    【讨论】:

    • 感谢您的所有回复!但是,我还无法修复它。我已经尝试将数据库助手放在运行时存储中,并且我还尝试了只读连接,但系统似乎仍然挂在其中一个 sqlitestatements 的准备方法上。调试器在调用 prepare() 后显示以下堆栈: pendingOperation.wait();准备异步();准备(); [...] 似乎有死锁之类的,但我不知道是什么原因造成的。我确定只有一个进程同时访问数据库。
    【解决方案2】:

    使用RuntimeStore 在前台和后台应用程序之间共享同一个数据库连接对象。

    【讨论】:

    • 我已经尝试过这种方法,但我没有让它起作用,请参阅 Himanshu Dudhat 对上述答案的评论
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-08-31
    • 1970-01-01
    • 2011-08-05
    • 1970-01-01
    相关资源
    最近更新 更多