首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 数据库 > 其他数据库 >

SQL批量导入数据SqlBulkCopy的用法(适用于过万札记录一次性插入数据库)

2013-10-10 
SQL批量导入数据SqlBulkCopy的用法(适用于过万笔记录一次性插入数据库)由于要插入数据库的数据量过大,所以

SQL批量导入数据SqlBulkCopy的用法(适用于过万笔记录一次性插入数据库)

由于要插入数据库的数据量过大,所以用到批量导入的方法,这个和以前分享的批量插入在本质上是不同,我主要研究的是数据集即DataTable或DataSet等,如何批量插入数据库的,下面的方法可以维护数据源和表栏位的映射关系,用起来也很方便,做过五万笔数据测试,速度超快!

        

       private static void Insert(DataTable dt)        {            using (System.Data.SqlClient.SqlBulkCopy sqlBC = new System.Data.SqlClient.SqlBulkCopy  (DAL.DatabaseHelper.GetConnectionString()))            {                sqlBC.BatchSize = 100000;                sqlBC.BulkCopyTimeout = 60;                sqlBC.DestinationTableName = "B2BFORM008_DETAIL_IMPORT";                sqlBC.ColumnMappings.Add("FORM_NO", "FORM_NO");                sqlBC.ColumnMappings.Add("工号", "EMP_NO");                sqlBC.ColumnMappings.Add("姓名", "EMP_NAME");                sqlBC.ColumnMappings.Add("分类", "CLASS");                sqlBC.ColumnMappings.Add("职位", "POSITION_DESC");                sqlBC.ColumnMappings.Add("牌级", "PAILEVEL");                sqlBC.ColumnMappings.Add("工龄段", "WORK_AGE");                sqlBC.ColumnMappings.Add("区域", "AREA");                sqlBC.ColumnMappings.Add("类别", "DATA_TYPE");                sqlBC.ColumnMappings.Add("金额", "AMOUNT");                sqlBC.ColumnMappings.Add("发放次数", "TIMES");                sqlBC.ColumnMappings.Add("当月", "THIS_MONTH_AMOUNT");                sqlBC.ColumnMappings.Add("次月", "NEXT_MONTH_AMOUNT");               sqlBC.ColumnMappings.Add("次次月", "MONTH_AFTER_NEXT_AMOUNT");                sqlBC.ColumnMappings.Add("备注", "REMARK");                sqlBC.WriteToServer(dt);            }        }


详细用法请参照,SqlBulkCopy批量插入数据具体用法

 

热点排行