У меня есть DataSet с около 200 таблицами. Две из этих таблиц содержат более 300 строк. Я пытаюсь вставить данные с помощью этой команды:
DatabaseOperation.CLEAN_INSERT.execute(_con, dbRep.getDataSet());
, где dbRep
- абстракция набора данных.
Мы используем эту функциональность для интеграционного теста и заботимся опорядок, в котором данные попадают в таблицу. Т.е. запись с ID 02
должна быть по индексу 2
.
Но в определенной, но неизвестной точке порядок меняется. В этом конкретном примере я могу вставить 132
строк без проблем. Но с 133
на следующий ряд и все последующие будут вставлены первыми, а с 1
до 132
будут вставлены после них. Таким образом, порядок:
133, 134, ... ,max, 1, 2, ... , 132
В другой таблице точка поворота находится в строке 216
, и у нас есть меньшая таблица с 21
записями, но большими значениями ячеек, где первыйзапись должна быть последней.
Я использовал SQL Profiler для отслеживания порядка вставки, но кажется, что первая строка попадает на сервер первой. Я хотел бы представить, что это как-то связано с размером набора данных.
Я использую MS Sql 14.0.3223.3, DBUnit 2.6, BatchedStatemnts
- ложь, порог пакета - 100.