Q:
Две недели назад я столкнулся со следующей проблемой, и я не знаю, как ее решить, учитывая проблемы с производительностью и целостностью данных.
Что я делаюэто:
Я хочу перенести данные из XML-файла в аналогичные таблицы в моей базе данных .
например:
Я разрешаю пользователю загружать файл XML в папку на моемсервер, и я начинаю читать файл XML и вставлять данные в мою базу данных.
Проблема заключается в следующем:
Если во время операции вставки произойдет сбой, я хочу удалить все вставленные записи.во всех таблицах. (или откат).
Я начинаю думать о transaction
, вставка каждой сущности будет выполняться посредством транзакции, но я сталкиваюсь с двумя проблемами:
Должен ли я помещать все вставки всех сущностей в одну транзакцию или одну сущность по одной в транзакцию? (Все данные сущностей должны быть вставлены или вообще не вставляться) для каждого загрузчика.
Когда у меня огромное количество записей (1500 записей), появляется следующее исключение:
This IfxTransaCtion завершен;его больше нельзя использовать , никто его не исправляет.
Руководитель моей команды сказал мне не использовать транзакцию, потому что она заблокирует таблицы, и многие пользователи используют эти таблицы.он хочет какой-то другой механизм.
пожалуйста, я хочу решить мою проблему (подробное объяснение), Как решить этот вопрос и поддерживать проблемы с производительностью, целостность и согласованность данных.