ADO.NET to SqlServer批量Insert
来源:互联网 发布:淘宝智能版改专业版 编辑:程序博客网 时间:2024/05/23 11:56
实现步骤: 1,构造DataTable
2,封装DataTable为DataTabl赋值
3,利用SqlBulkCopy提交DataTable
代码:1,构造DataTable
public DataTable BuildTable() { try { DataTable dt = new DataTable(); dt.Columns.AddRange(new DataColumn[] { new DataColumn("PointX", typeof(float))}); dt.Columns.AddRange(new DataColumn[] { new DataColumn("PointY", typeof(float)) }); dt.Columns.AddRange(new DataColumn[] { new DataColumn("PointType", typeof(string))}); dt.Columns.AddRange(new DataColumn[] { new DataColumn("SbType", typeof(string)) }); return dt; } catch (Exception ex) { LogHelp.WriteInLog("构造DataTable异常:" + ex.Message, true); return null; } }
2,DataTabl赋值
DataTable dt =BuildTable(); dataRow dr = dt.NewRow(); dr["PointX"] = x; dr["PointY"] = y; dr["PointType"] = "kk"; dr["SbType"] = "kk"; dt.Rows.Add(dr);
3,提交DataTable
public bool WriteToServer(DataTable dt) { try { OpenConn(); using (SqlBulkCopy sqlBC = new SqlBulkCopy(sqlConn)) { sqlBC.BatchSize = 1000; //设置逾时的秒数 sqlBC.BulkCopyTimeout = 60; //设置 NotifyAfter 属性,以便在每拷贝 10000 条记录至数据表后,呼叫事件处理函数 sqlBC.NotifyAfter = 10000; sqlBC.DestinationTableName = "目标表名"; sqlBC.ColumnMappings.Add("PointX", "PointX"); sqlBC.ColumnMappings.Add("PointY", "PointY"); sqlBC.ColumnMappings.Add("PointType", "PointType"); sqlBC.ColumnMappings.Add("SbType", "SbType"); sqlBC.WriteToServer(dt); } sqlConn.Dispose(); return true; } catch (Exception ex) { LogHelp.WriteInLog("数据批量插入异常:" + ex.Message, true); return false; } }
万级控制在秒
- ADO.NET to SqlServer批量Insert
- ADO.Net 之 Access批量Insert
- ADO.Net 之SQLite批量Insert
- ADO.NET Insert command function
- ADO.NET for SqlServer初学
- ADO.NET连接SQLServer数据库
- 批量导入数据(ADO.NET)
- 批量导入数据(ADO.NET)
- ADO.NET数据批量提交
- LINQ to ADO.NET
- Linq To Ado.net
- LINQ to ADO.NET
- 使用ADO.NET配置SQLServer事务处理
- ADO.Net基础/连接SQLServer/ExecuteNoQuery()/ExecuteScalar
- ado.net sqlserver 注入漏洞问题
- Ado.net中SQLServer数据库连接池
- Ado.net中SQLServer数据库连接池
- SqlServer中BULK INSERT用法简介,批量插入数据
- 关于vc读取ini单引号丢弃问题
- 工作队列的使用例子
- UTF-8 GBK UTF8 GB2312 之间的区别和关系
- rails开发利器:视频播放插件plugin(如何开发一个简单的插件)
- 枚举转换成列表,通过数值获取对应的枚举变量
- ADO.NET to SqlServer批量Insert
- 制作一个简单的动画
- VirtualLab-Creating a Report with Report Builder 3.0
- 如何学习VC++(VC的用处)
- Oracle--报错处理--PL/SQL修改表字段报错:ORA-25150
- 传统ABAP开发个人总结 - 记录
- iphone 文件保存策略
- 世间谤我、欺我、辱我、笑我,为之奈何?
- C#:USB设备枚举(五)生成TreeView数据源