SQL SERVER と SQLITE の間でデータを同期するアプリケーションがあります...
マルチスレッドを使用して、いくつかのテーブルを同時に更新しています.....
私は以下のことを試みています:
// Drop table if exists before insert data
dbHelper.dropTable(schema.getTable());
// create new table
dbHelper.createTable(schema);
// begin transaction
dbHelper.openTransaction();
//while() { do inserts }
// end transaction
dbHelper.endTransaction();
私はすべてのスレッドに同じ Dbhelper インスタンスを使用しています....最初のスレッドはかなりうまく実行されますが、2 番目のスレッドは「dropTable()」でクラッシュします。私のアプローチの何が問題なのですか?
これは、dbhelper をすべてのスレッドに渡す方法です。
DbHelper dbHelper = new DbHelper(getActivity());
int max = mRequestList.size();
for (int row = 0; row < max; row++) {
DataReaderRequest request = mRequestList.get(row);
DataUpdateTask task = DataUpdateManager.startUpdate(dbHelper,
request);
}
わかりました。