找回密码
 立即注册

QQ登录

只需一步,快速开始

平底锅

高级会员

17

主题

21

帖子

1327

积分

高级会员

积分
1327

活字格认证

平底锅
高级会员   /  发表于:2010-10-23 17:37  /   查看:6098  /  回复:0
我们经常会遇到把批量的数据导入SQL Server上,利用for循环拼出来的sql或者使用参数的方式传递或者使用事务等不同方式的传递数据,
虽然都能达到目的,可是这些方式的传递效率不是很高。

   在.NET Framwork 2.0以后,提供了一个新的类SqlBulkCopy类,它在性能上有明显的优势(注:在同样条件下,SqlBulkCopy方法比直接用Sql语句插入
数据的效率高出近20倍左右),它可以通过让DataSet或是DataReader中大量的数据通过数据流直接进行装载,然后可以将这些记录添加到指定的数据表中。

   使用SqlBulkCopy类进行数据插入其原理是采用了SQL Server的BCP协议进行数据的批量复制。
所以,建议在大批量数据导入SQL时,最好利用SqlBulkCopy类.
   

关于SqlBulkCopy类的介绍和使用方法,可参照下边的URL:
http://msdn.microsoft.com/en-us/library/system.data.sqlclient.sqlbulkcopy.aspx
ms-help://MS.MSDNQTR.v90.en/fxref_system.data.sqlclient/html/800d5dba-09c1-a7ea-8545-8731f6870b68.htm#exampleToggle

0 个回复

您需要登录后才可以回帖 登录 | 立即注册
返回顶部