Emanuele Meazzo fixes a problem:
Turns out, ADF is rightfully trying to insert the rows in bulk, but Oracle doesn’t like it when the sink table has triggers, falling back to row by row insertion seems it’s too much to ask, so you end up with the error.
Searching on the good ‘ol wide web you’ll encounter this solution, that basically tells you to disable bulkload for the whole Oracle connection by setting EnableBulkLoad=0 in the connection string.
That wouldn’t work for me, because I’m bulk loading just fine everywhere else, so either I had to suffer slower performance on all the other inserts by disabling the bulk insert, or I had to create an additional and separate Linked Service to Oracle with the bulk insert disabled: doable but adding maintenance overhead when things change (two secrets to manage instead of one).
My solution? Super dumb.
Read on for a copy of the error message and Emanuele’s solution. There are two philosophies with regard to dumb solutions:
- If a solution is dumb and it works, it isn’t dumb.
- If a solution is dumb and it works, it’s still a dumb solution and you just got lucky this time.
I’m not quite sure under which category this falls.