利用SqlBulkCopy类快速写入大批量数据

在.Net2.0中,SQLClient命名空间下增加了SqlBulkCopy类.

利用SqlBulkCopy类快速写入大批量数据,针对SQL Server的优化,可以写入DataRow数据,DataTable,DataReader;

使用 SqlBulkCopy 类可以执行下列操作:

1.WriteToServer(DataTable)写入数据表

2.WriteToServer(DataRow[])批次写入数据行

3.WriteToServer(DataTable,DataRowState)按行状态写入数据库表

4.WriteToServer(IDataReader)写入DataReader对象

例:

string connstr = "server=.;database=northwind;integrated security=true;async=true";

//填充数据集ds
DataSet ds = new DataSet();

SqlConnection conn
= new SqlConnection(connstr);

SqlDataAdapter dadp
= new SqlDataAdapter("select * from customers", conn);

dadp.Fill(ds);

//将数据集中表的所有行复制到目标表中
SqlBulkCopy bcp = new SqlBulkCopy(connstr);

bcp.DestinationTableName
= "customers1";

bcp.WriteToServer(ds.Tables[
0]);
posted @ 2008-10-05 03:25  老白先生  阅读(504)  评论(1编辑  收藏  举报