Note that there are some explanatory texts on larger screens.

plurals
  1. POGetting "sqlite3_open_v2("mydatabase.db", &handle, 6, NULL) failed" after using sqlcipher in Android
    text
    copied!<p>While using sqlcipher in Android 2.3.3. I am getting error.</p> <p>Here is my DB.java class</p> <pre><code>import android.content.ContentValues; import android.content.Context; import android.database.Cursor; import android.util.Log; import net.sqlcipher.database.SQLiteDatabase; import net.sqlcipher.database.SQLiteDatabase.CursorFactory; import net.sqlcipher.database.SQLiteOpenHelper; public class DB { private static String _DB_NAME = "mydatabase.db"; private static int _DB_VERSION = 1; private Context _context; private DBHelper _helper; public DB(Context context) { SQLiteDatabase.loadLibs(context); this._context = context; this._helper = new DBHelper(this._context, _DB_NAME, null, _DB_VERSION); SQLiteDatabase sqdb = this._helper.getWritableDatabase("123"); sqdb.close(); } public void insertValuesInTable() { try { SQLiteDatabase sqdb = SQLiteDatabase.openOrCreateDatabase(_DB_NAME, "123",null); sqdb.execSQL("insert into mytable(category, total) values (1,"100");"); sqdb.close(); } catch (Exception e) { e.printStackTrace(); } } private static class DBHelper extends SQLiteOpenHelper { public DBHelper(Context context, String name, CursorFactory factory, int version) { super(context, name, factory, version); } @Override public void onCreate(SQLiteDatabase db) { createTables(db); } @Override public void onUpgrade(SQLiteDatabase db, int oldVersion, int newVersion) { } private void createTables(SQLiteDatabase db) { try { String query1; query1 = "Create table if not exists mytable (category integer primary key, total text) ; "; db.execSQL(query1); } catch (Exception e) { e.printStackTrace(); } } } } </code></pre> <p>I create the object of DB.java and make use of it like this</p> <pre><code>DB _db = new DB(getApplicationContext()); _db.insertValuesInTable(); </code></pre> <p>As soon as i execute this line <code>_db.insertValuesInTable();</code> I get this error</p> <pre><code>sqlite returned: error code = 14, msg = cannot open file at line 32288 of [6d326d44fd] sqlite returned: error code = 14, msg = os_unix.c:32288: (2) open(//mydatabase.db) - sqlite3_open_v2("mydatabase.db", &amp;handle, 6, NULL) failed net.sqlcipher.database.SQLiteException: unable to open database file net.sqlcipher.database.SQLiteDatabase.dbopen(Native Method) net.sqlcipher.database.SQLiteDatabase.&lt;init&gt;(SQLiteDatabase.java:1952) net.sqlcipher.database.SQLiteDatabase.openDatabase(SQLiteDatabase.java:902) net.sqlcipher.database.SQLiteDatabase.openOrCreateDatabase(SQLiteDatabase.java:945) com.keane.database.DB.insertValuesInMd5Check(DB.java:133) com.keane.test2.UsageMonitorTestActivity.onCreate(UsageMonitorTestActivity.java:45) android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1047) android.app.ActivityThread.performLaunchActivity(ActivityThread.java:1611) android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:1663) android.app.ActivityThread.access$1500(ActivityThread.java:117) android.app.ActivityThread$H.handleMessage(ActivityThread.java:931) android.os.Handler.dispatchMessage(Handler.java:99) android.os.Looper.loop(Looper.java:123) android.app.ActivityThread.main(ActivityThread.java:3683) java.lang.reflect.Method.invokeNative(Native Method) java.lang.reflect.Method.invoke(Method.java:507) com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:839) com.android.internal.os.ZygoteInit.main(ZygoteInit.java:597) dalvik.system.NativeStart.main(Native Method) </code></pre> <p>I have properly included all the <code>.so</code> ,<code>.jar</code> &amp; <code>.zip</code> files. Still i am getting this error.How to solve this?</p>
 

Querying!

 
Guidance

SQuiL has stopped working due to an internal error.

If you are curious you may find further information in the browser console, which is accessible through the devtools (F12).

Reload