.NET 使用ODP.NET, BULKCOPY.WriteToServer 造成重复数据
功能都做完了,单元测试时我试着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: 数据插入是多线程的,插入前检测是不可能解决问题的。