【C#--数据】1.使用SqlBulkCopy批量导入数据库的示例
来源:互联网 发布:风速打印软件下载 编辑:程序博客网 时间:2024/05/18 02:21
使用SqlBulkCopy批量导入数据库的示例
/* 准备示例的工作:
1、准备数据源
(1)、新建数据库(Data_test) 表(Tb_Users) 有两列 ID(int)、 UserID(nvarchar(255))。
(2)、程序制造假数据
DataTable table = GetTestTable();
public DataTable GetTestTable()
{
DataTable dt = new DataTable();
dt.Columns.AddRange(new DataColumn[]
{
new DataColumn("ID",typeof(int)),
new DataColumn("UserID",typeof(string))
});
for (int i = 1; i < 28000; i++)
{
DataRow row = dt.NewRow();
row[0] = i;
row[1] = Guid.NewGuid().ToString();
dt.Rows.Add(row);
}
return dt;
}
*
1、新建数据库连接
string connString = @"Data Source=127.0.0.1;Initial Catalog=Data_test;User ID=sa;Password=123456";
SqlConnection con = new SqlConnection(connString);
2、新建SqlBulkCopy对象
SqlBulkCopy burk = new SqlBulkCopy(con);
3、设置目的表的表名
burk.DestinationTableName = "Tb_Users";
4、设置要导入的数据条数
burk.BatchSize = table.Rows.Count;
5、打开连接执行导入,统计用时,并关闭连接
con.Open();
DateTime startWite = DateTime.Now;
burk.WriteToServer(table);
DateTime endWrite = DateTime.Now;
span = endWrite.Subtract(startWite);
con.Close();
*
*/
VS建立控制台应用(.NET Framework)项目(SqlBurkCopyDemo),代码如下:
using System;using System.Collections.Generic;using System.Data;using System.Data.SqlClient;using System.Linq;using System.Text;using System.Threading.Tasks;namespace SqlBurkCopyDemo{ public class Program { static void Main(string[] args) { Console.WriteLine("正在插入测试数据"); TimeSpan span = new TimeSpan(); try { //Copy copy = new Copy(); //span = copy.InsertData(); span = InsertData(); } catch (Exception ex) { Console.WriteLine("异常!"); } Console.WriteLine("共花费时间" + span.ToString() + "秒"); Console.ReadLine(); } public static TimeSpan InsertData() { DataTable table = GetTestTable(); string connString = @"Data Source=127.0.0.1;Initial Catalog=Data_test;User ID=sa;Password=123456"; //新建数据库连接 SqlConnection con = new SqlConnection(connString); SqlBulkCopy burk = new SqlBulkCopy(con); //新建SqlBulkCopy对象 burk.DestinationTableName = "Tb_Users"; //表名 burk.BatchSize = table.Rows.Count; //设置要导入的数据条数 TimeSpan span = new TimeSpan(); try { con.Open(); //打开连接执行导入,统计用时,并关闭连接 if (table != null && table.Rows.Count > 0) { DateTime startWite = DateTime.Now; burk.WriteToServer(table); //table导入 DateTime endWrite = DateTime.Now; span = endWrite.Subtract(startWite); } } catch (Exception ex) { throw new Exception("批量插入失败!"); } finally { con.Close(); } return span; } public static DataTable GetTestTable() { DataTable dt = new DataTable(); dt.Columns.AddRange(new DataColumn[] { new DataColumn("ID",typeof(int)), new DataColumn("UserID",typeof(string)) }); for (int i = 1; i < 28000; i++) { DataRow row = dt.NewRow(); row[0] = i; row[1] = Guid.NewGuid().ToString(); dt.Rows.Add(row); } return dt; } }}
- 【C#--数据】1.使用SqlBulkCopy批量导入数据库的示例
- 多线程的SqlBulkCopy批量导入、事务和SqlBulkCopy使用的数据集中自定义映射字段的注意事项
- 使用SqlBulkCopy将datatable数据批量导入sqlServer
- 使用 SqlBulkCopy 批量从execl中导入数据
- SqlBulkCopy 数据库批量插入数据
- 使用SqlBulkCopy提高导入数据的性能
- 使用SqlBulkCopy提高导入数据的性能
- SQLBULKCOPY批量插入数据使用
- 使用SqlBulkCopy类批量复制数据到数据库表中
- 使用SqlBulkCopy将DataTable中的数据批量插入数据库中
- 使用SqlBulkCopy将DataTable中的数据批量插入数据库中
- 使用SqlBulkCopy将DataTable中的数据批量插入数据库中
- 使用SqlBulkCopy大批量导入数据
- .net使用SqlBulkCopy导入数据
- .net使用SqlBulkCopy导入数据
- 使用SqlBulkCopy类进行数据的批量插入
- 关于批量导入数据类SqlBulkCopy 导入数据时增加额外的列
- ADO操控数据库SqlBulkCopy批量数据插入
- 关于Sublime和HBuilder的less预编译配置
- 坦克
- mybatis的缓存机制
- C++ 智能指针简单实现
- kaggle冰山船只分类竞赛中遇到的Python列表推导式问题
- 【C#--数据】1.使用SqlBulkCopy批量导入数据库的示例
- activity与task
- UI 血条
- 深度学习与神经网络入门必读3!
- Appstore审核被拒-Guideline 2.3.3
- javascript高级程序设计笔记2-类属性设置
- XListView的使用
- 大神教你几招玩转Bootstrap框架技术
- 程序员,如何摆脱平庸?