I've got here enterprise project with .net 4.0 c#, IBatisNet and CSLA framework.
One of project jobs is failing with ORA-01084: invalid argument in OCI call
when calling insert proc in a package. Error message returned is cryptic at best, the stored proc has 83 input parameters which aren't bound by name (thanks to IBatis).
What is curious: I've got a set of records let's say Order
and OrderItems
. Order
has 28 order items. The job has to renew the order by creating another Order
and copying all OrderItems
records. New order items are referencing the old order items by ParentOrderItemId
field, which is also a selection criteria for Orders
due to be renewed.
When I run it first time the process blows on OrderItemId: 12345
with ORA-01084
error. But when I rerun it next time, it successfully process OrderItemId: 12345
. And then blows up on OrderItemId: 12444
. I then rerun and it processes OrderItemId: 12444
correctly and so on and so forth.
I've got logs of DbParameters passed in they are the same in both cases.
I've got oci client trace, but it's not useful either.
I've setup logging on a database layer, and so far it's giving me nothing.
Any ideas how to trace those type of errors?
I was receiving this same error message. In my case it was because I was passing an empty string to a CLOB column. Normally I would pass a large XML document but sometimes there was no document. Now, I check for empty string and write "empty".
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With