功能都做完了,单元测试时我试着2次同时通过使用bulkcopy来插入2组同样的数据,按理是会有PK violation,但是让我心惊肉跳的是,没有我去看表,表的index已经处于unused的状态了,由于PK constraints的关系,必须先disable constrain然后重新建index。 回去看了oracle的文档,上面对于constraint一节也解释的很模糊,给我的感觉是他们做的垃圾,所以不好意思说出来, 对于not null constraints 会reject, 也没有讲是整个reject,还是单条记录reject对于unique/primary key的话,只有一句,会做validate,然后在最后使相应的index处于unused状态,请问那位朋友也用过这个东东的,交流下经验,odp.net的bulkcopy这么可怕么,连Pk constrain 都忽略的话,我真怀疑这玩意有什么用。不行我就要用普通的插入了就内个arraybinding, 现在已经做了一半了,不过还是不甘心,所以上来问问,oracle那边我也打算发个Email问问他们看看怎么说PS: 数据插入是多线程的,插入前检测是不可能解决问题的。
另外,如果ORACLEBULKCOPY的表存在主键,会令执行速度变慢很多,将主键禁用后速度会明显提高。欢迎交流