OracleBulkCopy 不支持触​​发器

hie*_*und 5 .net oracle triggers odp.net

我的软件需要一次向Oracle数据库插入大约5000条记录,所以我曾经OracleBulkCopy这样做过。我的表使用触发器自动递增主键。但OracleBulkCopy抛出“ORA-26086:直接路径不支持触发器”异常。

那么,如何才能同时使用主键OracleBulkCopy和自增主键呢?

Jus*_*ave 2

从 ODP.Net 开发人员指南中可以看出,OracleBulkCopy 类执行直接路径加载。正如错误所示,您无法对启用了触发器的表进行直接路径加载。

如果要使用 OracleBulkCopy 类,您可能会禁用生成主键的触发器,从序列中获取 5000 个值,然后在应用程序中使用这些值。加载完成后,您可以重新启用触发器。当然,这意味着没有其他会话可以同时将数据加载到该表中。