У меня есть процесс, который загружает данные из файла, а затем пытается вставить записи в таблицу.Ошибка блокировки объекта в БД с использованием хранимой процедуры
Если файл слишком велик, для загрузки всех данных в таблицу XYZ требуется некоторое время. Я использую пакет для вставки записей в таблицу.
В то же время другой процесс запускается и пытается считывать данные на основе некоторого условия из таблицы XYZ, поскольку 1-й процесс еще не завершил запись данных в таблицу, а 2-й процесс пытается прочитайте одни и те же данные, я получаю ошибку использования объекта.
Я думал о двух вариантов, чтобы устранить эту проблему:
Если все записи не вставляются Process1, сохранить один из столбца состояния разные, так что Process2 не может извлечь записи
Вставьте данные в куски, если что-то не получается, у вас есть механизм для повторного запуска с последней вставленной записи (для этого нужен механизм).
Я использую DB2 и простой jdbc для вставки записей.
Пожалуйста, дайте мне знать, Что самый лучший способ пойти об этой проблемы
Другой вариант - делать все вставки в одной транзакции, иначе другие не будут видеть вставки до завершения процесса загрузки. Btw: какую СУБД вы используете? Postgres? Oracle? –
Я использую DB2, и я использую простой jdbc для вставки записей в DB – Abs