这两天公司让做一个导数据的功能,从Excel文件中将数据导出并插入到数据库中,起初我是循环每一行数据,然后一条一条的将数据插入,这样做虽然功能上没什么问题,但是如果数据量大的话,会很影响性能。于是在高人的指点下学习了SQLBulkCopy类,该类主要用于批量迁移数据到数据库中,至于数据源不加限制,只要数据可以加载到DataTable或是IDataReader,就可以利用该类批量导入。下面贴一个例子:
这是一个效率最高的sql数据表转sql语句的工具。
DestinationTableName属性定义了要复制表的目标名称
ColumnMappings返回一个SqlBulkCopyColumnMapping项集合,SqlBulkCopyColumnMappingCollection.Add方法参数为数据源类名称,目标表中目标列的名称.也可以先定义一个SqlBulkCopyColumnMapping,然后使用Add方法添加,SqlBulkCopyColumnMapping主要用于与目标数据表的表结构不一致的情况
NotifyAfter指定生成通知事件之前要处理的行数,指定在每次处理行完成的时候发生的事件,比如每次复制了1000行以后就提示1000行复制完成
NorthWindBulkOp.SqlRowsCopied+=
newSqlRowsCopiedEventHandler(OnRowsCopied);
最后WriteToServer方法,把SqlDataReader复制到指定的表中。
protectedvoidbutBulkCopy_OnClick(objectsender,EventArgse)
{
stringConStr="database=TEST;uid=sa;pwd=sa;server=(local)";
//使用SqlBulkCopy把内存表DataTable里的数据插入答卷数据表
using(SqlBulkCopybcp=newSqlBulkCopy(ConStr))
{
//指定目标数据库的表名
bcp.DestinationTableName="ARTICLE";
//建立数据源表字段和目标表中的列之间的映射
bcp.ColumnMappings.Add("T","TITLE");
bcp.ColumnMappings.Add("C","CONTENTS");
bcp.ColumnMappings.Add("D","DATA");
//定义生成通知事件之前要处理的行数
bcp.NotifyAfter=1000;
//处理完要处理NotifyAfter的行数时触发的事件
bcp.SqlRowsCopied+=
newSqlRowsCopiedEventHandler(OnRowsCopied);
//写入数据库表
bcp.WriteToServer(dt);
//关闭SqlBulkCopy实例
bcp.Close();
}
}
privatevoidOnRowsCopied(objectsernder,SqlRowsCopiedEventArgse)
{
Response.Write(e.RowsCopied.ToString());
}
展开

安心小窝app-智能安心小窝app2.0.4 中文免费版
慧颜AI下载安装官方版-慧颜AI测颜值软件1.0.0 最新版
熊猫星球app下载-成都熊猫星球项目软件2.2.1 安卓版
夜鹰智联app下载官方版-夜鹰智联摄像头app(夜鹰威视监控)3.4.30 安卓版
滑记学习app下载-滑记APP0.1.2.3官方专业版
嗨桌面小组件下载-嗨桌面小组件app1.2 安卓版
滚球滚石游戏-滚球滚石(Roll the ball rolling stones)1.0 安卓版
geogebra安卓版下载-动态数学软件(geogebra)5.0.156.0 官网安卓版
720云全景app下载-720云VR3.6.1 官网ios版
2015挂历素材-2015年企业精神文化标语精美挂历模板素材psd分层高清版
攀枝花市民政务通软件下载-攀枝花市民政务通app1.0 ios版
守卫攻城官方版下载-守卫攻城手游100.200.10 安卓最新版
同聚元小工具下载-同聚元小工具app1.1 最新版
2016七夕情人节礼物指南-2016年七夕情人节礼物排行榜推荐doc完整版
新12j051免费下载-新12J05-1公用卫生间盥洗室及洗池图集pdf完整清晰版
太乙仙魔录2.28地图下载-太乙仙魔录2.28正式版【附攻略】
一梦江湖灵犀系统下载-一梦江湖灵犀系统官方版100.0最新版
鲤鱼钓鱼模拟器游戏下载-鲤鱼钓鱼模拟器(Arcade Carp Fishing)1.0.0 安卓版
路桥施工计算专家RBCCE(Road Bridge Construction Calculation Expert System)17.0.1.80 注册授权版