OracleBulkCopy c#批量插入oracle数据库的方法
datatable中的数据 存入oracle表中,要求 二者字段名一致,如果不一致,通过这个实现对应: bulkCopy.ColumnMappings.Add("SERVNUMBER", "SN");
首先要引入Oracle.DataAccess.dll文件(在oracle客户端里面有,添加到本网站)
using Oracle.DataAccess.Client;
代码如下:
protected void Button2_Click(object sender, EventArgs e)
{
using (OracleConnection conn = new OracleConnection(System.Configuration.ConfigurationManager.ConnectionStrings["OraConn"].ConnectionString))
{
conn.Open();
DataSet ds = shaodb.getds("select * from shao_tmp80");
System.Data.DataTable dt = ds.Tables[0];
using (OracleBulkCopy bulkCopy = new OracleBulkCopy(conn))
{
bulkCopy.DestinationTableName = "shao_tmp81";
// 映射 DataTable 的列到数据库表的列
bulkCopy.ColumnMappings.Add("SERVNUMBER", "SN"); //映射 DataTable 的列到数据库表的列,格式源列名,目标列名
bulkCopy.ColumnMappings.Add(0,0); //或者映射用列序号
bulkCopy.BatchSize = 100000;
bulkCopy.WriteToServer(dt);
}
}
参考:
OracleBulkCopy 批量插入oracle数据库的方法
http://t.csdnimg.cn/Ho92E