1

We've recently moved to use Oracle.ManagedDataAccess in our application now it supports Bulk Copy. The problem is it seems to have a hard time dealing with tables that have virtual columns where the unmanaged client did not.

Oracle.ManagedDataAccess.Client.OracleException: 'ORA-02373: Error parsing insert statement for table SFOL.BUILDRECORD.

ORA-54013: INSERT operation disallowed on virtual columns'

The specific error above seems to suggest that it doesn't like the DataTable provided but the DataTable clearly specifies the columns and does not include any virtual columns. The underlying table itself does have virtual columns but we're not inserting into them.

The database is Oracle 19c and the ManagedDataAccess client is 19.10.0

Any ideas?

  • Could you create a view on the table and use the view instead? If it's a simple view that only selects every column from the table (except the virtual columns), then the view can be inserted, updated, and deleted like a regular table and the tools probably won't know about the missing virtual columns. – Jon Heller Jan 13 '21 at 06:43
  • It means for about 100+ tables we'd need a view to sit in front of it just so we can use bulkcopy in the ManagedDataAccess client. Seems like the fact it worked in the unmanaged client and doesn't in this one there is potentially an underlying bug. I'll have to raise an SR I think. – Brandon Billingham Jan 13 '21 at 10:52

0 Answers0