SqlBulkCopy批量插入数据时,不执行触发器和约束的解决方法

原文:SqlBulkCopy批量插入数据时,不执行触发器和约束的解决方法

在new SqlBulkCopy对象的时候,设置一下SqlBulkCopyOptions选项即可,按位或运算

SqlBulkCopyOptions.FireTriggers | SqlBulkCopyOptions.CheckConstraints
using (SqlBulkCopy bulkCopy = new SqlBulkCopy(GlobalString.ConnectionString,
          SqlBulkCopyOptions.CheckConstraints | SqlBulkCopyOptions.FireTriggers))
 {
   //...........
}
 
时间: 2024-12-23 23:06:21

SqlBulkCopy批量插入数据时,不执行触发器和约束的解决方法的相关文章

C#中的SqlBulkCopy批量插入数据

在C#中,我们可以使用sqlBulkCopy去批量插入数据,其他批量插入方法不在讨论. 1 /// <summary> 2 /// SqlBulkCopy批量插入数据 3 /// </summary> 4 /// <param name="connectionStr">链接字符串</param> 5 /// <param name="dataTableName">表名</param> 6 ///

用SqlBulkCopy批量插入数据到SqlServer数据库表中

首先创建一个数据库连接类:SQLHelper using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.Data.SqlClient; using System.Data; namespace insetData { public class SQLHelper { public static readonly string Strconn = "Data

SqlBulkCopy块拷贝数据时,不履行触发器和束缚 解决办法

在new SqlBulkCopy时,设置SqlBulkCopyOptions属性即可 SqlBulkCopy bulkCopy = new SqlBulkCopy(ConStr,SqlBulkCopyOptions.FireTriggers); 注意:函数重载问题:SqlBulkCopy一个参数时,第一个参数是sqlconnection,两个参数时第一个参数是sqlconnectionString. SqlBulkCopyOptions属性:   Default 对所有选项使用默认值.   Ke

使用事务和SqlBulkCopy批量插入数据

SqlBulkCopy是.NET Framework 2.0新增的类,位于命名空间System.Data.SqlClient下,主要提供把其他数据源的数据有效批量的加载到SQL Server表中的功能.类似与 Microsoft SQL Server 包中名为 bcp 的命令行应用程序.但是使用 SqlBulkCopy 类可以编写托管代码解决方案,性能上优于bcp命令行应用程序,更优于如Insert方式向SQL Server表加载大量数据.SqlBulkCopy可以应用到大批量数据的转移上,而不

用SqlBulkCopy实现批量插入数据

1.建立一张测试表 test CREATE TABLE test ( F_Name NVARCHAR(20) NULL, F_Age INT NULL ) 2.SqlBulkCopy批量插入数据 1 using System; 2 using System.Collections.Generic; 3 using System.Text; 4 using System.Data.SqlClient; 5 using System.Data; 6 7 namespace sqlbulkcopy 8

有关批量插入数据的问题

使用c#批量插入数据时,通过for循环,每次执行一条SQL语句进行数据插入,会使插入操作效率非常低下. 提高效率的方法: 1.SqlBulkCopy类. 2.表值参数. 在SqlServer存储过程中还可以 3.将For循环Insert部分放入一个Transaction中. 具体论证与实现,改日追加. 有关批量插入数据的问题,布布扣,bubuko.com

.Net批量插入数据到SQLServer数据库,SqlBulkCopy类批量插入大数据到数据库

批量的的数据导入数据库中,尽量少的访问数据库,高性能的对数据库进行存储. 采用SqlBulkCopy来处理存储数据.SqlBulkCopy存储大批量的数据非常的高效,将内存中的数据表直接的一次性的存储到数据库中,而不需要一次一次的向数据库Insert数据. 经过几次实验,百万级别的数据表,也只需几秒时间内就可以完全的存入数据库中,其速度,比传统的Insert into方法不止快很多倍. 下面看代码: /// <summary> /// 批量插入数据 /// </summary> /

inserted触发器,一张表插入数据时,同时向另外一张表插入数据

有时候,一个服务器上有多个数据库,需要向其中一个数据库的表中插入数据时, 同时向另外一个数据的表里插入数据. 可以利用触发器和同义词(建立同义词的方法省略), 在一个数据库的表里插入数据时,同时向另外一个数据库的表里插入数据. 触发器代码如下: create trigger userInsertTrigger on [user] for insert as begin begin insert into usertab(UserID,UserAccount,UserPassword,UserNa

ADO.NET 新特性之SqlBulkCopy(批量插入大量数据)

转自:http://blog.csdn.net/huaer1011/article/details/2312361 在.Net1.1中无论是对于批量插入整个DataTable中的所有数据到数据库中,还是进行不同数据源之间的迁移,都不是很方便.而在.Net2.0中,SQLClient命名空间下增加了几个新类帮助我们通过DataTable或DataReader批量迁移数据.数据源可以来自关系数据库或者XML文件,甚至WebService返回结果.其中最重要的一个类就是SqlBulkCopy类,使用它