Oralcle数据批量导入
发布时间:2020-12-12 13:38:00 所属栏目:百科 来源:网络整理
导读:前言: 前段时间做一个将.Csv文件数据批量导入到Oracle数据库中,因为其中的列有几千个,所以在网上找了很多方法都不适用。OracleBulkCopy可能因为版本原因也不能用。 直到我遇见了它 1 /// summary 2 /// Oracle批量导入数据 3 /// /summary 4 /// param na
前言: 前段时间做一个将.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 (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |