When i am going to execute the following code
boolean islocaldb = false;
private class Offlilneproducts extends AsyncTask<Void, Void, Void> {
protected void onPreExecute() {
pDialog = new ProgressDialog(OfflineProductOreder.this);
pDialog.setTitle("Please wait !");
pDialog.setMessage("Loading Offline Products..");
pDialog.setCancelable(false);
pDialog.show();
};
@Override
protected Void doInBackground(Void... arg0) {
RDBMSView local_product;
// TODO Auto-generated method stub
try {
if (ScopeContext.get("system") != null) {
ScopeContext.remove("system", false, false);
}
ScopeFacade OfflineDB = ScopeFactory.createTemplate(getBaseContext(), "full", "system");
// Get the object where to perform database operations.
local_product = (RDBMSView) OfflineDB.getObject("relational-database");
OfflineDB.log("Fatal message", LogServiceConstants.LOG_LEVEL_FATAL);
if (local_product.isConnected()) {
Log.e("RDBMS-DB", "Already Connected");
local_product.beginTransaction();
ResultRows lp = (ResultRows) local_product.executeQueryByName("select_products", null, -1, -1);
String psl = null;
int i = 0;
while (lp.next()) {
psl = String.valueOf(i);
Category localcat = new Category(psl, lp.getString("P_CODE"), lp.getString("P_DESC"), 0,
lp.getString("COMM_TP"), lp.getString("COMM_VP"));
offlineproductList.add(localcat);
i++;
islocaldb = true;
}
local_product.disconnect();
} else {
Log.e("RDBMS-DB", "Connecting......");
local_product.connect();
local_product.beginTransaction();
ResultRows lp = (ResultRows) local_product.executeQueryByName("select_products", null, -1, -1);
String psl = null;
int i = 0;
while (lp.next()) {
psl = String.valueOf(i);
Category localcat = new Category(psl, lp.getString("P_CODE"), lp.getString("P_DESC"), 0,
lp.getString("COMM_TP"), lp.getString("COMM_VP"));
offlineproductList.add(localcat);
i++;
islocaldb = true;
}
local_product.disconnect();
}
ScopeContext.remove("OfflineDB", true, true);
} catch (Exception e) {
// TODO: handle exception
e.printStackTrace();
islocaldb = false;
// Log messages in different levels.
}
return null;
}
@Override
protected void onPostExecute(Void result) {
// TODO Auto-generated method stub
super.onPostExecute(result);
if (pDialog.isShowing())
pDialog.dismiss();
populateSpinner();
}
}
I am getting the following ERRORS:
04-18 15:37:41.603: E/SQLiteLog(14641): (5) database is locked 04-18 15:37:41.613: E/SQLiteDatabase(14641): Failed to open database '/data/data/com.opl.salematrix/databases/system'. 04-18 15:37:41.613: E/SQLiteDatabase(14641): android.database.sqlite.SQLiteDatabaseLockedException: database is locked (code 5): , while compiling: PRAGMA journal_mode 04-18 15:37:41.613: E/SQLiteDatabase(14641): at android.database.sqlite.SQLiteConnection.nativePrepareStatement(Native Method) 04-18 15:37:41.613: E/SQLiteDatabase(14641): at android.database.sqlite.SQLiteConnection.acquirePreparedStatement(SQLiteConnection.java:1112) 04-18 15:37:41.613: E/SQLiteDatabase(14641): at android.database.sqlite.SQLiteConnection.executeForString(SQLiteConnection.java:823) 04-18 15:37:41.613: E/SQLiteDatabase(14641): at android.database.sqlite.SQLiteConnection.setJournalMode(SQLiteConnection.java:509) 04-18 15:37:41.613: E/SQLiteDatabase(14641): at android.database.sqlite.SQLiteConnection.setWalModeFromConfiguration(SQLiteConnection.java:483) 04-18 15:37:41.613: E/SQLiteDatabase(14641): at android.database.sqlite.SQLiteConnection.open(SQLiteConnection.java:382) 04-18 15:37:41.613: E/SQLiteDatabase(14641): at android.database.sqlite.SQLiteConnection.open(SQLiteConnection.java:232) 04-18 15:37:41.613: E/SQLiteDatabase(14641): at android.database.sqlite.SQLiteConnectionPool.openConnectionLocked(SQLiteConnectionPool.java:512) 04-18 15:37:41.613: E/SQLiteDatabase(14641): at android.database.sqlite.SQLiteConnectionPool.open(SQLiteConnectionPool.java:206) 04-18 15:37:41.613: E/SQLiteDatabase(14641): at android.database.sqlite.SQLiteConnectionPool.open(SQLiteConnectionPool.java:178) 04-18 15:37:41.613: E/SQLiteDatabase(14641): at android.database.sqlite.SQLiteDatabase.openInner(SQLiteDatabase.java:888) 04-18 15:37:41.613: E/SQLiteDatabase(14641): at android.database.sqlite.SQLiteDatabase.open(SQLiteDatabase.java:858) 04-18 15:37:41.613: E/SQLiteDatabase(14641): at android.database.sqlite.SQLiteDatabase.openDatabase(SQLiteDatabase.java:695) 04-18 15:37:41.613: E/SQLiteDatabase(14641): at android.app.ContextImpl.openOrCreateDatabase(ContextImpl.java:1123) 04-18 15:37:41.613: E/SQLiteDatabase(14641): at android.database.sqlite.SQLiteOpenHelper.getDatabaseLocked(SQLiteOpenHelper.java:224) 04-18 15:37:41.613: E/SQLiteDatabase(14641): at android.database.sqlite.SQLiteOpenHelper.getWritableDatabase(SQLiteOpenHelper.java:164) 04-18 15:37:41.613: E/SQLiteDatabase(14641): at com.warework.service.datastore.client.connector.AndroidSQLiteConnector.getClientConnection(AndroidSQLiteConnector.java:298) 04-18 15:37:41.613: E/SQLiteDatabase(14641): at com.warework.core.service.client.AbstractClient.connect(AbstractClient.java:230) 04-18 15:37:41.613: E/SQLiteDatabase(14641): at com.warework.service.datastore.DefaultView.connect(DefaultView.java:112) 04-18 15:37:41.613: E/SQLiteDatabase(14641): at com.warework.service.datastore.AbstractDatastoreView.connect(AbstractDatastoreView.java:79) 04-18 15:37:41.613: E/SQLiteDatabase(14641): at com.opl.salematrix.OfflineProductOreder$Offlilneproducts.doInBackground(OfflineProductOreder.java:596) 04-18 15:37:41.613: E/SQLiteDatabase(14641): at com.opl.salematrix.OfflineProductOreder$Offlilneproducts.doInBackground(OfflineProductOreder.java:1) 04-18 15:37:41.613: E/SQLiteDatabase(14641): at android.os.AsyncTask$2.call(AsyncTask.java:288) 04-18 15:37:41.613: E/SQLiteDatabase(14641): at java.util.concurrent.FutureTask.run(FutureTask.java:237) 04-18 15:37:41.613: E/SQLiteDatabase(14641): at android.os.AsyncTask$SerialExecutor$1.run(AsyncTask.java:231) 04-18 15:37:41.613: E/SQLiteDatabase(14641): at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1112) 04-18 15:37:41.613: E/SQLiteDatabase(14641): at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:587) 04-18 15:37:41.613: E/SQLiteDatabase(14641): at java.lang.Thread.run(Thread.java:841)
Aucun commentaire:
Enregistrer un commentaire