我在使用SQLite作爲數據庫後端的iPhone SDK上的新應用程序出現問題。iPhone SDK上的sqlite數據庫磁盤映像格式不正確
偶爾,我的應用程序將停止加載數據到我的UITableViews,並通過組織者下載設備數據庫後,我可以通過命令行訪問SQLite數據庫。我可以查詢某些表,但沒有得到一個「SQL錯誤:數據庫磁盤映像格式錯誤」的錯誤。見下面一個SQLite會話:
SQLite version 3.6.17
Enter ".help" for instructions
Enter SQL statements terminated with a ";"
sqlite> select * from user;
1|[email protected]|cpjolicoeur||4d055e38bb1d3758|image/gif|cartoonme_avatar.gif||Craig|Jolicoeur|1|1
sqlite> select * from item;
SQL error: database disk image is malformed
sqlite>
在這個例子中我的用戶表工作正常,但我的項目表的格式不正確,這與我在我的應用我看到那裏的項目不負載對應。該應用程序不會崩潰,數據只是沒有加載,因爲這個畸形的錯誤。
任何想法爲什麼會發生這種情況?我唯一的想法是,也許數據庫被損壞,因爲我通過應用程序內的後臺線程寫入SQLite數據庫。我通過後臺線程中的NSOperationQueue從網絡服務器下載數據,並使用下載的數據更新SQLite數據庫。會在後臺線程中寫入數據庫(雖然可能從主線程讀取)會損壞數據庫,還是其他的東西?
刪除沃爾瑪和SHM文件完全爲我做!謝謝 – 2014-01-22 15:16:27