SqlBulkCopy的使用问题

来源:互联网 发布:淘宝助理5.6.0.0 编辑:程序博客网 时间:2024/04/27 15:54

在企业信息化的过程中,使用了分层,数据库介质使用SQLServer,开发平台使用.net,IDEVS2008。建立了一个数据库访问层的类DAL,其中有一个功能,就是将一个DataSet保存到数据库中,这里面就用到了SqlBulkCopy这个类。

开始对使用SqlBulkCopy有些认识不清,特别是其事务方面,今天发现了可以使用事务,如下:

Dim sbc As SqlBulkCopy = New SqlBulkCopy(mCnObj, SqlBulkCopyOptions.CheckConstraints, mTransObj)

mCnObj:数据库连接;

SqlBulkCopyOptions.CheckConstraints:为操作类型;

mTransObj:事务对象;

 

操作类型的明细:

成员名称说明Default对所有选项使用默认值。KeepIdentity保留源标识值。如果未指定,则由目标分配标识值。CheckConstraints请在插入数据的同时检查约束。默认情况下,不检查约束。TableLock在批量复制操作期间获取批量更新锁。如果未指定,则使用行锁。KeepNulls保留目标表中的空值,而不管默认值的设置如何。如果未指定,则空值将由默认值替换(如果适用)。FireTriggers指定后,会导致服务器为插入到数据库中的行激发插入触发器。UseInternalTransaction如果已指定,则每一批批量复制操作将在事务中发生。如果指示了此选项,并且为构造函数提供了 SqlTransaction 对象,则发生 ArgumentException