拷贝批量数据到SQL Server数据库。
来源:互联网 发布:多址网络 编辑:程序博客网 时间:2024/05/22 17:13
一些应用需求要求插入大额的数据到SQL server数据库中。这时候再用INSERT语句并不是一个高效率的方法。SQL Server提供了一个批量插入数据的类:SqlBulkCopy。本文用一个例子来阐述这个 类怎么在你的程序中使用。
例子:
SqlConnection sourceConn = new SqlConnection
("Data Source=./sqlexpress;
initial catalog=northwind;integrated security=true");
sourceConn.Open();
SqlCommand cmd = new
SqlCommand("select * from employees", sourceConn);
SqlDataReader reader = cmd.ExecuteReader();
SqlConnection destConn = new
SqlConnection("Data Source=./sqlexpress;
initial catalog=northwind;integrated security=true");
destConn.Open();
SqlBulkCopy bcp = new SqlBulkCopy(destConn);
bcp.DestinationTableName = "Employees";
bcp.ColumnMappings.Add("LastName", "LastName");
bcp.ColumnMappings.Add("FirstName", "FirstName");
bcp.WriteToServer(reader);
destConn.Close();
reader.Close();
sourceConn.Close();
("Data Source=./sqlexpress;
initial catalog=northwind;integrated security=true");
sourceConn.Open();
SqlCommand cmd = new
SqlCommand("select * from employees", sourceConn);
SqlDataReader reader = cmd.ExecuteReader();
SqlConnection destConn = new
SqlConnection("Data Source=./sqlexpress;
initial catalog=northwind;integrated security=true");
destConn.Open();
SqlBulkCopy bcp = new SqlBulkCopy(destConn);
bcp.DestinationTableName = "Employees";
bcp.ColumnMappings.Add("LastName", "LastName");
bcp.ColumnMappings.Add("FirstName", "FirstName");
bcp.WriteToServer(reader);
destConn.Close();
reader.Close();
sourceConn.Close();
这里,我们创建了两个SqlConnection对象。一个用来从源数据库取数据,另一个是用来打开目的数据库的。在上面的例子中目的和源数据库的连接是相同的,但是他们也是可以不同的连接。
然后我们从Employees表中用SqlDataReader类来取数据。SqlBulkCopy类的构造函数接受参数为目的数据库连接的对象。DestinationTableName 属性用来指定目的数据库中表的名字。如果目的和源数据表的各列不同,你需要用ColumnMappings来指定各列的映射。最后,你需要调用WriteToServer方法,然后传递DataReader来把数据插入到目的数据库中。你同样可以用DataTable来代替DataReader来保存那些需要插入的记录。
- 拷贝批量数据到SQL Server数据库。
- 【SQL Server】批量数据导入到数据库
- 批量插入数据到数据库SQL Server2000
- [原创]批量数据上传(access到sql server。sql server到sql server)
- SQL Server数据导入到Access数据库
- SQL Server数据导入到Access数据库
- SQL Server数据导入到Access数据库
- 利用SqlBulkCopy类 批量导入数据到sql server
- 利用SqlBulkCopy类 批量导入数据到sql server
- 使用SqlBulkCopy批量快速插入大量数据到SQL SERVER
- C#批量插入大数据到SQL server
- SQL SERVER存储过程批量插入数据库表数据
- SQL SERVER存储过程批量插入数据库表数据
- 用SQL Server数据库实现批量插入数据
- SQL SERVER存储过程批量插入数据库表数据
- SQL Server数据库中批量替换数据的方法
- SQL Server数据库中批量替换数据的方法
- SQL SERVER存储过程批量插入数据库表数据
- [摘]基于 OSGi 的面向服务的组件编程
- LR8.0中文手册_Chapter7 创建负载测试的情境
- 自已动手做一个最简版的Nhibernate
- 使用G4JSF整合JSF与GWT(完整版)
- MapReduce介绍(转载自张凌云Blog)
- 拷贝批量数据到SQL Server数据库。
- 健康指南:人体十大最佳黄金时间
- 话题讨论:做需求分析不要被表象迷惑
- 我的新家
- Asp.net中基于Forms验证的角色验证授权
- Solaris上数据保护的一些考虑
- 改变treeview中节点的背景颜色和字体颜色
- osgViewer::Viewer
- 解析C语言中的sizeof