zoukankan      html  css  js  c++  java
  • 【Update】C# 批量插入数据 SqlBulkCopy

    SqlBulkCopy的原理就是通过在客户端把数据都缓存在table中,然后利用SqlBulkCopy一次性把table中的数据插入到数据库中。

        SqlConnection sqlConn = new SqlConnection(ConfigurationManager.ConnectionStrings["ConnStr"].ConnectionString);  
        SqlBulkCopy bulkCopy = new SqlBulkCopy(sqlConn);  
        bulkCopy.DestinationTableName = "BulkTestTable";  
        bulkCopy.BatchSize = dt.Rows.Count;  
      
        try  
        {  
            sqlConn.Open();  
        if (dt != null && dt.Rows.Count != 0)  
            bulkCopy.WriteToServer(dt);  
        }  
        catch (Exception ex)  
        {  
            throw ex;  
        }  
        finally  
        {  
            sqlConn.Close();  
            if (bulkCopy != null)  
                bulkCopy.Close();  
        }  
    

    补充一下:
    SqlBulkCopy的ColumnMappings中列的名称受大小写敏感限制,在构造DataTable的时候需要注意列名要与表一致。
    关于sqlbulkcopy的事务处理,使用事务在性能上会有一定的影响,如果要使用事务,可以设置SqlBulkCopyOptions.UseInternalTransaction。

    ###############################
    Living An Awesome Life! RobinJiang
    ###############################
  • 相关阅读:
    【转载】以太网帧类型速查表
    oracle 无法解析指定的连接标识符
    最近观影有感~
    myeclipse 8.5 安装svn插件
    Symbian S60 设备配置 IMAP
    VS 2008 自动缩进修改
    RGB YUV [转]
    NoteExpress 无法访问国外数据库
    小s坐月子
    2011124 code
  • 原文地址:https://www.cnblogs.com/RobinJiang/p/SqlBulkCopy.html
Copyright © 2011-2022 走看看