Oralcle数据批量导入

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

前言:

  前段时间做一个将.Csv文件数据批量导入到Oracle数据库中,因为其中的列有几千个,所以在网上找了很多方法都不适用。OracleBulkCopy可能因为版本原因也不能用。

  直到我遇见了它

  

 1 /// <summary>
 2        /// Oracle批量导入数据
 3        /// </summary>
 4        /// <param name="tableName">需要导入的数据表名</param>
 5        /// <param name="dt">需要导入的数据</param>
 6        /// <returns></returns>
 7         public static bool BatchImportData(string tableName,DataTable dt,double x)
 8         {
 9             string sql = "SELECT * FROM " + tableName;
10             using (OracleConnection conn = new OracleConnection(connString))
11             {
12 
13                 OracleCommand cmd = new OracleCommand(sql,conn);
14                 OracleDataAdapter adapter = new OracleDataAdapter(cmd);
15                 OracleCommandBuilder cb = new OracleCommandBuilder(adapter);
16                 DataTable dsNew = new DataTable();
17 
18                 int count = adapter.Fill(dsNew);
19                 DataRow dr;
20                 //方法需要字段名和dt中的列名一一对应
21                 for (int i = 0; i < dt.Rows.Count; i++)
22                 {
23                     dr = dsNew.NewRow();
24                     for (int j = 0; j < dt.Columns.Count; j++)
25                     {
26                         dr[dsNew.Columns[j].ColumnName] = dt.Rows[i][j];
27                     }
28                     dsNew.Rows.Add(dr);
29                 }
30                 count = adapter.Update(dsNew);
31                 adapter.UpdateBatchSize = 200;
32                 dsNew.Clear();
33                 dt.Clear();
34             }
35             return true;
36         }

 

  

OracleBulkCopy

猜你在找的Oracle相关文章