2012-09-27 50 views
2

可能重複:
Android sqlite returned: error code = 14無法打開數據庫SQLiteAssetHelper

我用SQLiteAssetHelper類/庫來操縱從資產數據庫/數據庫文件夾一樣在link表示。我做了所有的指示,但我仍然無法訪問數據庫。

09-27 19:35:46.417: I/Database(27474): sqlite returned: error code = 14, msg = cannot open file at source line 25467 
09-27 19:35:46.417: E/Database(27474): sqlite3_open_v2("/data/data/com.gatec.douaa/databases/data", &handle, 2, NULL) failed 
09-27 19:35:46.428: W/SQLiteAssetHelper(27474): could not open database data - unable to open database file 
09-27 19:35:46.428: W/SQLiteAssetHelper(27474): copying database from assets... 
09-27 19:35:46.447: W/SQLiteAssetHelper(27474): extracting file: 'database.db'... 
09-27 19:35:46.477: E/SQLiteAssetHelper(27474): Couldn't open data for writing (will try read-only): 
09-27 19:35:46.477: E/SQLiteAssetHelper(27474): com.readystatesoftware.sqliteasset.SQLiteAssetException: Missing databases/data.zip file in assets or target folder not writable 

代碼:

public class MyDatabase extends SQLiteAssetHelper { 

    private static final String DATABASE_NAME = "data"; 
    private static final int DATABASE_VERSION = 1; 

    public MyDatabase(Context context) { 
     super(context, DATABASE_NAME, null, DATABASE_VERSION); 


    } 

任何幫助嗎?不知道問題的根源。

+0

請發佈您的代碼。還要確保資產文件夾中有一個databases/data.zip文件。數據庫名稱爲 –

+0

? 「數據」或數據文件夾內的東西 – Munipratap

+0

@ChrisThompson:請參閱編輯過的文章:)。 – androniennn

回答

0

你爲什麼把你的.db文件放到.zip中?請嘗試將其存入資產中,而不要歸檔。或者,您可以嘗試在zip壓縮文件中放入一個無問題的.db文件,以瞭解問題出在哪裏。

+0

SQLiteAssetHelper庫的開發人員強制用戶將db文件放在一個zip文件中。 – androniennn

+0

我明白了,請嘗試第二種方法來了解問題所在。 –

+1

我檢測到了問題。轉換後的.db文件不正確。轉換工具非常差。現在找不到如何將.sql文件轉換爲.db(或sqlite)... – androniennn