2011-06-09 54 views
0

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

有人可以帮助我吗?

回答

0

我认为这应该是由于打开已经打开的数据库。试图只使用一个Database.open()方法。

+0

感谢您的回复!但是,我还没有能够修复它。我已经尝试将数据库帮助程序放入运行时存储区,并且还尝试了只读连接,但系统似乎仍然挂在其中一个sqlitestatements的准备方法上。在调用prepare()之后,调试器显示以下堆栈: pendingOperation.wait(); prepareAsync(); prepare(); [...] 似乎有死锁或某事,但我不知道是什么原因造成的。我确信只有一个进程正在同时访问数据库。 – 2011-06-13 14:26:53

0

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

+0

我试过这种方法,但我没有得到它的工作,看到我对Himanshu Dudhat的上述答案的评论 – 2011-06-14 11:45:43