来自文本文件的OracleBulkCopy - 如何设置主键

时间:2012-11-15 16:25:29

标签: c# .net database oracle odp.net

我试图使用OracleBulkCopy将大分隔文件读入单个表。主键是列ID并定义为数字(20,0),我相信,nHibernate通常在插入时通过序列递增。如果我通过odp.net使用oracleBulkCopy,我如何确保在插入时ID增加并且当其他人通过应用程序插入时没有并发问题?

2 个答案:

答案 0 :(得分:0)

你需要在oracle中创建一个序列,这样它就可以自动增加你的id

创建序列 MY_TABLE_SEQ 以1个NOMAXVALUE NOMINVALUE NOCYCLE NOCACHE NOORDER为开头增加1个;

创建触发器 MY_TABLE_INSERT_TRIGGER 在插入 MY_TABLE 之前     作为每一行的新老年人参考 开始     选择 MY_TABLE_SEQ .NEXTVAL INTO:NEW。 MY_ID_FIELD FROM DUAL; END;

答案 1 :(得分:0)

答案不正确。

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

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