/// <summary>
/// 批量插入数据
/// </summary>
public static void SqlBulkInsert(DataTable dt, string connStr)
{
try
{
using (var conn = new SqlConnection(connStr))
{
try
{
conn.Open();
using (var bulkcopy = new SqlBulkCopy(connStr,
SqlBulkCopyOptions.UseInternalTransaction))
{
//批量插入跟踪日志至对应的日志表
bulkcopy.DestinationTableName = dt.TableName;
for (int i = 0; i < dt.Columns.Count; i++)
{
bulkcopy.ColumnMappings.Add(dt.Columns[i].ColumnName, dt.Columns[i].ColumnName);
}
bulkcopy.WriteToServer(dt);
}
}
finally
{
if (conn.State != ConnectionState.Closed)
{
conn.Close();
}
}
}
}
catch (Exception ex)
{
other.WriteFile("SqlBulkCopy插入数据异常:" + ex);
}
}

  注意:DataTable需要设置tableName,需要跟要插入的表名字一致

c# 数据库批量插入数据SqlBulkCopy 示例的更多相关文章

  1. SQL:数据库批量插入数据

    测试中有些功能要求有足够的数据进行测试,当输入字段较多时通过页面添加很慢.业务只关联单个数据库表可以通过数据库批量插入数据 批量插入数据示例: declare @i int--声明变量 --变量初始化 ...

  2. C# 数据库批量插入数据之 —— SqlBulkCopy、表值参数

    创建了一个用来测试的Student表: CREATE TABLE [dbo].[Student]( [ID] [int] PRIMARY KEY NOT NULL, ) NULL, ) NULL, [ ...

  3. jmeter连接mysql数据库批量插入数据

    前提工作: 1.在jmeter官网下载jmeter包(官网地址:https://jmeter.apache.org/).此外还需下载mysql驱动包,如:mysql-connector-java-5. ...

  4. Django向数据库批量插入数据

    # 如何向数据库一次性插入多条数据 # 方法一:效率极低,不推荐使用 for i in range(1000): models.Book.objects.create(title=f'第{i}本书') ...

  5. 【Update】C# 批量插入数据 SqlBulkCopy

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

  6. 数据库批量插入数据的shell脚本

    测试用,先来一个简单的,这个是国产神通数据库的,用isql命令: !/bin/bash == "-h" ] then echo "USAGE: $0 table_name ...

  7. ruby批量插入数据,bulk_insert-----Gem包使用

    文档 https://github.com/jamis/bulk_insert class Book < ActiveRecord::Base end book_attrs = ... # so ...

  8. .Net批量插入数据到SQLServer数据库,System.Data.SqlClient.SqlBulkCopy类批量插入大数据到数据库

    批量的的数据导入数据库中,尽量少的访问数据库,高性能的对数据库进行存储. 采用SqlBulkCopy来处理存储数据.SqlBulkCopy存储大批量的数据非常的高效,将内存中的数据表直接的一次性的存储 ...

  9. C# 批量插入表SQLSERVER SqlBulkCopy往数据库中批量插入数据

    #region 帮助实例:SQL 批量插入数据 多种方法 /// <summary> /// SqlBulkCopy往数据库中批量插入数据 /// </summary> /// ...

随机推荐

  1. C#图片增加水印

    给图片增加水印 1.引用 using System.Drawing; 2.代码实现 string ImagePath = @"C:\Users\RAPOO\Pictures\Camera R ...

  2. HCNP学习笔记之HCNP学习的几种境界

    前言: 做任何事情都应该遵循一个循序渐进的过程,而这个过程可能是较为枯乏无味的,在我接触的人中主要分为踏实肯学满腹才华和半途而废不思进取两类.故而希望大家成为前者,勿做后者. 第一境界:散漫无序 简单 ...

  3. Python3.x:logging模块对运行过程记录

    Python3.x:logging模块对运行过程记录 示例: import logging # 设置 logger = logging.getLogger() #set loghandler #默认路 ...

  4. MVC分层处理

    MVC和三层其实是八竿子打不着的,MVC是一种全新的开发方式,传统的三层,其实是模块划分,为了结构清晰.而MVC就是MVC,是通过URL路由到控制器,然后到模型,处理完数据然后将结果返回给视图.是与三 ...

  5. spark + yarn调试问题java.nio.channels.ClosedChannelException

    spark客户端提交任务至yarn,后台抛错,FinalStatus:UNDEFINED. ./spark-submit  --class org.apache.spark.examples.Spar ...

  6. 20145328 《Java程序设计》第0周学习总结

    20145328 <Java程序设计>第0周学习总结 阅读心得 从总体上来说,这几篇文章都是围绕着软件工程专业的一些现象来进行描述的,但深入了解之后就可以发现,无论是软件工程专业还是我们现 ...

  7. make menuconfig错误的解决办法

    如果使用make menuconfig的方式配置内核,又碰巧系统没有安装ncurses库(ubuntu系统默认就没有安装此库),就会出现错误,错误信息大体上如下: *** Unable to find ...

  8. PHP设计模式(五): 原型模式

  9. 无法读取服务器服务中的服务器队列性能数据。数据段的第一个四字节 (DWORD) 中包

    无法打开服务器服务性能对象.数据段的第一个四字节 (DWORD) 包含状态代码. 解决方法:修改注册表禁用PerfNet性能计数器. 具体方法:打开注册表,在HKEY_LOCAL_MACHINE\SY ...

  10. 【目标检测】Cascade R-CNN 论文解析

    目录 0. 论文链接 1. 概述 2. 网络结构的合理性 3. 网络结构 4. 参考链接 @ 0. 论文链接 Cascade R-CNN 1. 概述   这是CVPR 2018的一篇文章,这篇文章也为 ...