0

我正在尝试使用 OracleBulkCopy 将大型分隔文件读入单个表中。主键是列 ID,定义为 number(20,0),我相信,nHibernate 通常在插入时通过序列递增。如果我通过 odp.net 使用 oracleBulkCopy,如何确保 ID 在插入时递增,并且在其他人通过应用程序插入时不会出现并发问题?

4

2 回答 2

0

答案是不正确的。

使用 OracleBulkCopy 时需要禁用触发器。

http://ora-26086.ora-code.com/

于 2013-05-17T14:22:21.993 回答
0

您需要在 oracle 中创建一个序列,以便它可以自动增加您的 id

CREATE SEQUENCE MY_TABLE_SEQ INCREMENT BY 1 START WITH 1 NOMAXVALUE NOMINVALUE NOCYCLE NOCACHE NOORDER;

CREATE TRIGGER MY_TABLE_INSERT_TRIGGER在插入到 MY_TABLE 之前,每行都引用新的作为新的旧的作为旧的,开始 选择MY_TABLE_SEQ .NEXTVAL INTO :NEW。来自双重的 MY_ID_FIELD;结尾;

于 2013-01-16T17:26:43.203 回答