慎用 OracleBulkCopy

今天同事遇到一问题,表中数据出现重复,主键没起作用,唯一性索引被破坏。在满带疑惑分析问题的时候,同事告之,对方是用oracleBulkCopy插入的数据。
这个东西是ORACLE为ODP(Oracle Data Provider for .NET )写的为快速写入数据的一个框架。采用的是直接装载机制,区别于传统的insert。
OracleBulkCopy 没有唯一性判断,破坏主键,不支持事务,不生成redo。
重建索引,删除重复数据都无效,只能删除、重建表。
你做的挺开心,也不管我们吃着牙碜不牙碜。。。
给了同事4个建议:
1、在设置DataTable之前调用序列,保证序列是唯一性主键
2、把数据插入到临时表,在临时表中去重后,写入正式表
3、DataTable中去重,保证插入的数据是干净的
4、不用OracleBulkCopy了。
这个东西的使用有局限性,慎用啊、慎用啊、慎用啊。尤其是生产环境
附其用法的官方文档:
http://docs.oracle.com/html/E10927_01/OracleBulkCopyClass.htm

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值