当前位置: 首页 > article >正文

【已验证】SqlBulkCopy 执行批量插入的时候报超时问题-解决办法

把datatable里面的数据插入到数据库,但是数据量大的情况下批量插入会提示超时,所以把datatable的数据分批写入数据库的

using (SqlConnection connection = new SqlConnection(ConnectionString))
            {
                connection.Open();

                int pageSize = 100000;//SqlBulkCopy大数据量的时候会超时,所以这里10万一次
                int count = dt.Rows.Count / pageSize;
                for (int i = 0; i <= count; i++)
                {
                    using (SqlBulkCopy bulkCopy = new SqlBulkCopy(connection))
                    {
                        try
                        {
                            // Set the timeout.
                            bulkCopy.BulkCopyTimeout = 0;//默认为 30 秒。 值为 0 表示没有限制;大容量复制将无限期等待。
                            DataTable tmpDt = dt.AsEnumerable().Skip(i * pageSize).Take(pageSize).CopyToDataTable();
                            bulkCopy.DestinationTableName = "表名";
                            bulkCopy.BatchSize = tmpDt.Rows.Count;

                            bulkCopy.WriteToServer(tmpDt);

                        }
                        catch (Exception ex)
                        {
                            throw ex;
                        }
                    }
                }

            }

超时之前操作完成所允许的秒数。

注解

如果操作超时,则不会提交事务,并且将从目标表中删除所有复制的行。


http://www.kler.cn/a/158679.html

相关文章:

  • Android集成FCM(Firebace Cloud Messaging )
  • 【LeetCode 题】只出现一次的数字--其余数字都出现3次
  • 对PolyMarket的突袭
  • leetcode-44-通配符匹配
  • 重构Action-cli前端脚手架
  • 一文说清:c++标准库
  • 开源众筹平台系统源码/高仿某滴筹平台源码/PHP源码/互助众筹系统网站源码
  • SQL Server的安装和首个库的创建
  • 利用jQuery实现AJAX定时刷新局部页面实例
  • 1_控制系统总体结构
  • TCP首部格式_基本知识
  • JVM执行引擎
  • (C语言)通过循环按行顺序为一个矩阵赋予1,3,5,7,9,等奇数,然后输出矩阵左下角的值。
  • L1-009:N个数求和
  • [LeetCode系列] 30天pandas挑战
  • Hadoop的介绍与安装
  • nodejs+vue+ElementUi爱宠养护交流平台设计与实现vwq50
  • 【SpringCloud】设计原则之前后端分离与版本控制
  • 【聚类】K-modes和K-prototypes——适合离散数据的聚类方法
  • 使用极限网关助力 ES 集群无缝升级、迁移上/下云
  • TensorRT_Win10上WSL实践篇
  • buuctf [极客大挑战 2019]Havefun1
  • nginx三种虚拟主机的配置(IP,端口,域名)
  • 西南科技大学信号与系统A实验二(信号频谱分析)
  • Vue中 env 文件是如何读取的? 优先级?
  • springboot(ssm健身器材用品网 健身用品商城Java(codeLW)