【转】C#批量导入数据到sqlserver
2010-12-31 01:02
393 查看
在各类程序中经常碰到大批量数据要导入SqlServer的情况。使用循环数据集用INSERT插入数据库,当数据量比较小时,采用这样的办法还可以,但是当数据量在1000以上时,再用INSERT来一条一条插入数据库那么,效率是在是太低 ,其实MS早就替我们想到了,那么下面让我们用一段代码来讲解把。
代码
这是我的程序中的一段代码,是从MySql抓取数据然后导入SqlServer。每次抓取的数据一般都在2000-3000左右,用这样的方法每次导入SqlServer只需要2-3秒即可。
代码
using System; using System.Collections.Generic; using System.Data; using Microsoft.Practices.EnterpriseLibrary.Data; using Microsoft.Practices.EnterpriseLibrary.Logging; using System.Threading; namespace InternetLogExport { class DataProcessing { /// <summary> /// 将抓取的Mysql数据导入Sqlserver /// </summary> /// <param name="sqldb">数据集</param> public bool InsertSqlServer(DataTable sqldb) { try { //数据批量导入sqlserver,创建实例 System.Data.SqlClient.SqlBulkCopy sqlbulk = new System.Data.SqlClient.SqlBulkCopy(System.Configuration.ConfigurationManager.ConnectionStrings["wwwConn"].ToString()); //目标数据库表名 sqlbulk.DestinationTableName = "t_rz"; //数据集字段索引与数据库字段索引映射 sqlbulk.ColumnMappings.Add(0, 5); sqlbulk.ColumnMappings.Add(1, 4); sqlbulk.ColumnMappings.Add(2, 7); sqlbulk.ColumnMappings.Add(3, 1); sqlbulk.ColumnMappings.Add(4, 10); sqlbulk.ColumnMappings.Add(5, 6); sqlbulk.ColumnMappings.Add(6, 2); //导入 sqlbulk.WriteToServer(sqldb); sqlbulk.Close(); return true; } catch { return false; } }
这是我的程序中的一段代码,是从MySql抓取数据然后导入SqlServer。每次抓取的数据一般都在2000-3000左右,用这样的方法每次导入SqlServer只需要2-3秒即可。
相关文章推荐
- C#_批量插入数据到Sqlserver中的四种方式
- 简单三层使用DataTable向数据库表批量导入数据---向SqlServer一张表中导入数据
- C# 把Excel中的数据批量导入DataSet中
- C#把DataTable里的数据批量导入SQLite
- C#批量导入text到数据库sqlserver
- C#连接数据库、读EXCEL表、批量导入数据
- ADO.NET 对数据操作 以及如何通过C# 事务批量导入数据
- Excel数据批量导入到SqlServer的方法
- 使用C#把dbf格式文件的数据导入到sqlserver中
- C# 使用MySqlBulkLoader 批量导入数据到Mysql
- 如何高效地批量导入数据到SqlServer
- Sqlserver bcp批量导入、导出数据(2008-05-23 14:48:40| 分类: 数据库技术)
- (c#)Excel与SqlServer间数据相互导入
- C# BulkCopy方式数据批量导入数据库
- 在C#应用程序中,利用表值参数过滤重复,批量向数据库导入数据,并且返回重复数据
- C# 实现批量导入数据
- sqlserver 批量导入Excel表格数据
- 使用C#把Excel格式文件的数据导入到sqlserver中
- [置顶] 关于C++、C#实现EXCEL数据库批量导入数据库万行以上数据效率问题
- C#实现TXT文本数据批量导入SQL Server