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.


Reply via email to