我正在尝试使用OracleBulkCopy将大型分隔文件读取到单个表中。主键是列 ID,定义为 number(20,0),我相信 nHibernate 通常在插入时通过序列递增。如果我通过 odp.net 使用 oracleBulkCopy,如何确保 ID 在插入时递增,并且在其他人通过应用程序插入时不会出现并发问题?
您需要在 oracle 中创建一个序列,以便它可以自动递增您的 id
创建序列MY_TABLE_SEQ增量为 1 从 1 个 NOMAXVALUE NOMINVALUE NOCYCLE NOCACHE NOORDER 开始;
在插入MY_TABLE之前创建触发器MY_TABLE_INSERT_TRIGGER 将每一行的"新旧"引用为"旧"开始 选择"MY_TABLE_SEQ"。下一页 进入 :新。MY_ID_FIELD从双;结束;
答案是不正确的。
使用 OracleBulkCopy 时需要禁用触发器。
http://ora-26086.ora-code.com/