OracleBulkCopy批量插入数据

前端之家收集整理的这篇文章主要介绍了OracleBulkCopy批量插入数据前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。

1、OracleBulk程序集引用using ODAC = Oracle.DataAccess.Client

2、有时候不做字段映射,会使导入的数据出错(注意:OracleBulkCopy对索引,事物,主键自增都会有影响,当然没有这些的话相对来说也不错)

简单封装了一下,上代码

  1. 1 /// <summary>
  2. 2 /// 批量插入数据
  3. 3 </summary>
  4. 4 <param name="table">数据表</param>
  5. 5 <param name="targetTableName">数据库目标表名 6 <returns></returns>
  6. 7 public static bool ExcuteBulkData(DataTable table,string targetTableName)
  7. 8 {
  8. 9 bool result = false;
  9. 10 using (ODAC.OracleConnection conn = new ODAC.OracleConnection(connStr))
  10. 11 {
  11. 12 using (ODAC.OracleBulkCopy bulkCopy = new ODAC.OracleBulkCopy(connStr,ODAC.OracleBulkCopyOptions.Default))
  12. 13 {
  13. 14 if (table != null && table.Rows.Count > 0)
  14. 15 {
  15. 16 bulkCopy.DestinationTableName = targetTableName;
  16. 17 for (int i = 0; i < table.Columns.Count; i++)
  17. 18 {
  18. 19 string col=table.Columns[i].ColumnName;
  19. 20 bulkCopy.ColumnMappings.Add(col,col);
  20. 21 }
  21. 22 conn.Open();
  22. 23 bulkCopy.WriteToServer(table);
  23. 24 result = true;
  24. 25 }
  25. 26 }
  26. 27 }
  27. 28 return result;
  28. 29 }

猜你在找的Oracle相关文章