2011-06-09 46 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