0

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);
    }

わかりました。

4

0 に答える 0