У меня есть корпоративный проект с .net 4.0 c #, IBatisNet и CSLA.
Одно из заданий проекта завершается с ошибкой ORA-01084: invalid argument in OCI call
при вызове insert proc в пакете. Возвращаемое сообщение об ошибке является в лучшем случае загадочным, хранимый процесс имеет 83 входных параметра, которые не связаны по имени (благодаря IBatis).
Что любопытно: у меня есть набор записей, скажем, Order
и OrderItems
. Order
имеет 28 позиций заказа. Задание должно обновить заказ, создав еще одну Order
и скопировав все записи OrderItems
. Новые позиции заказа ссылаются на старые позиции заказа по полю ParentOrderItemId
, что также является критерием выбора для Orders
, который должен быть обновлен.
Когда я запускаю его в первый раз, процесс запускается на OrderItemId: 12345
с ошибкой ORA-01084
. Но когда я перезапущу его в следующий раз, он успешно обработает OrderItemId: 12345
. А затем взрывается на OrderItemId: 12444
. Затем я снова запускаю, и он обрабатывает OrderItemId: 12444
правильно и так далее, и так далее.
Мне передали логи DbParameters, они одинаковы в обоих случаях.
У меня есть трассировка клиента oci, но она также бесполезна.
Я настроил запись в журнал на уровне базы данных, и пока он мне ничего не дает.
Есть идеи, как отследить ошибки такого типа?