Maybe this SO-thread helps: http://stackoverflow.com/questions/7647524/android-failed-to-setlocale-when-constructing-closing-the-database
On Mon, Jul 15, 2013 at 9:08 AM, Zoheb Rahman <[email protected]> wrote: > So i made a big mistake of testing my code on android 4.0 + and thinking it > would work fine on other versions. But i am facing issues with 2.X and 3.X > with SQLiteOpenHelper. > > First the code : > > public class HelperDB extends SQLiteOpenHelper implements BaseColumns { > > public static final int DATABASE_VERSION = 2; > public static final String DATABASE_NAME = "MYDB.db"; > public static final String TABLE_NAME = "MYtable"; > public static final String TABLE_NAME_LOGO = "MYLogos"; > public static final String COLUMN_NAME_1 = "xxxxx"; > public static final String COLUMN_NAME_2 = "yyyy"; > public static final String COLUMN_NAME_3 = "zzzz"; > public static final String COLUMN_NAME_4 = "aaaa"; > public static final String COLUMN_NAME_LOGO = "logo"; > public static final String COLUMN_NAME_5 = "3333"; > public static final String COLUMN_NAME_6 = "fffff"; > public static final String COLUMN_NAME_7= "Abc"; > > public HelperDB(Context context) > { > super(context, DATABASE_NAME, null, DATABASE_VERSION); > } > > @Override > public void onCreate(SQLiteDatabase db){ > > db.execSQL("CREATE TABLE " + TABLE_NAME + "(" + _ID + " INTEGER PRIMARY > KEY autoincrement," + COLUMN_NAME_1 + " TEXT not null," + COLUMN_NAME_2 > + " TEXT not null," + COLUMN_NAME_3 + " TEXT not null," + > COLUMN_NAME_4 + " LONG not null," + COLUMN_NAME_5 + " INT DEFAULT 99," + > COLUMN_NAME_6 +" INT DEFAULT 99);"); > > > db.execSQL("CREATE TABLE " + TABLE_NAME_LOGO + "(" + _ID + " INTEGER > PRIMARY KEY autoincrement," + COLUMN_NAME_6 + " TEXT not null," + > COLUMN_NAME_7 + " INTERGET not null);"); > > } > > @Override > public void onUpgrade(SQLiteDatabase db, int oldVersion, int newVersion) > { > > } > > } > ****************************************************************************** > > public class MatchesDB { > > private HelperDB dbHelper; > private SQLiteDatabase dbw, dbr; > public static int id; > > public MatchesDB(Context context){ > > dbHelper = new HelperDB(context); > dbw = dbHelper.getWritableDatabase(); > dbr = dbHelper.getReadableDatabase(); > } > > public void fillinfotable(){} > And all other functions to query the database and delete etc > > Creating the DB by calling > > MatchesDB newdb = new MatchesDB(context); > newdb.fillinfotable(); > > All this is working perfectly on all 4.0 + devices. However i'm getting the > following error when trying to run on 2.x devices > > 07-14 21:29:14.890: E/Database(22231): CREATE TABLE android_metadata failed > 07-14 21:29:14.898: E/Database(22231): CREATE TABLE android_metadata failed > 07-14 21:29:15.640: E/Database(22231): Failed to setLocale() when > constructing, closing the database > 07-14 21:29:15.640: E/Database(22231): > android.database.sqlite.SQLiteException: database is locked > 07-14 21:29:15.640: E/Database(22231): at > android.database.sqlite.SQLiteDatabase.native_setLocale(Native Method) > 07-14 21:29:15.640: E/Database(22231): at > android.database.sqlite.SQLiteDatabase.setLocale(SQLiteDatabase.java:2000) > 07-14 21:29:15.640: E/Database(22231): at > android.database.sqlite.SQLiteDatabase. <init>(SQLiteDatabase.java:1857) > 07-14 21:29:15.640: E/Database(22231): at > android.database.sqlite.SQLiteDatabase.openDatabase(SQLiteDatabase.java:822) > 07-14 21:29:15.640: E/Database(22231): at > android.database.sqlite.SQLiteDatabase.openOrCreateDatabase(SQLiteDatabase.java:856) > 07-14 21:29:15.640: E/Database(22231): at > android.database.sqlite.SQLiteDatabase.openOrCreateDatabase(SQLiteDatabase.java:849) > 07-14 21:29:15.640: E/Database(22231): at > android.app.ContextImpl.openOrCreateDatabase(ContextImpl.java:556) > 07-14 21:29:15.640: E/Database(22231): at > android.content.ContextWrapper.openOrCreateDatabase(ContextWrapper.java:203) > 07-14 21:29:15.640: E/Database(22231): at > android.database.sqlite.SQLiteOpenHelper.getWritableDatabase(SQLiteOpenHelper.java:118) > > Any help is Highly appreciated !! really want a quick fix as the app is > already on the play store and i need to publish an update. > > I have followed the developers guide on the android website and have been > searching for a solution and just cant seem to find anything anywhere > > -- > -- > You received this message because you are subscribed to the Google > Groups "Android Developers" group. > To post to this group, send email to [email protected] > To unsubscribe from this group, send email to > [email protected] > For more options, visit this group at > http://groups.google.com/group/android-developers?hl=en > --- > You received this message because you are subscribed to the Google Groups > "Android Developers" group. > To unsubscribe from this group and stop receiving emails from it, send an > email to [email protected]. > For more options, visit https://groups.google.com/groups/opt_out. > > -- Michael Banzon http://michaelbanzon.com/ -- -- You received this message because you are subscribed to the Google Groups "Android Developers" group. To post to this group, send email to [email protected] To unsubscribe from this group, send email to [email protected] For more options, visit this group at http://groups.google.com/group/android-developers?hl=en --- You received this message because you are subscribed to the Google Groups "Android Developers" group. To unsubscribe from this group and stop receiving emails from it, send an email to [email protected]. For more options, visit https://groups.google.com/groups/opt_out.

