之前写了一篇C# 直接使用sql语句对数据库操作 (cmd.ExecuteNonQuery)的文章

这是针对数据量不大的操作,换句话说,效率太低,所以在此介绍一个效率高的、能大批量导入到数据库的方法

//////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////

函数原型

public void WriteToServer(DataTable table);

不难看出这个函数需要的是DataTable的数据类型

正文开始:

需要using的东西

using System.Data.SqlClient;//SqlBulkCopy
using System.Configuration;//ConfigurationManager
using System.Data;//Datatable

在app.config中添加connectionstring

  <connectionStrings>
<add name="connString" connectionString="server=sk**ei**l0*;database=V*Q;integrated security=true"/>
</connectionStrings>

就插个代码吧  没什么讲的  注释都有

        static void Main(string[] args)
{
DataTable datasource = new DataTable();//数据源,这边没有给它数据源,将就看吧 string connString = ConfigurationManager.ConnectionStrings["connString"].ToString();//config
SqlConnection conn = new SqlConnection(connString);
       conn.Open();
SqlBulkCopy sqlbulkcopy = new SqlBulkCopy(conn); sqlbulkcopy.DestinationTableName = "";//设置数据库表名
sqlbulkcopy.BulkCopyTimeout = ;//timeout,数据量大的话就需要设置一下,具体视情况而定 try
{
sqlbulkcopy.WriteToServer(datasource);//写入数据库
}
catch (Exception e)
{
Console.WriteLine(e.Message);
}
finally
{
sqlbulkcopy.Close();
conn.Close();//关
}
}

另一种写法

        static void using_(DataTable datasource,string tablename) {
using (SqlConnection conn = new SqlConnection(ConfigurationManager.ConnectionStrings["connString"].ToString()))
{
conn.Open();
using (SqlBulkCopy bulkCopy = new SqlBulkCopy(conn))
{
bulkCopy.DestinationTableName = tablename;//table name
bulkCopy.BatchSize = datasource.Rows.Count;
try
{
bulkCopy.WriteToServer(datasource);//写入数据库
}
catch (Exception e)
{
Console.WriteLine(e.Message);
}
finally
{
bulkCopy.Close();
conn.Close();//关
}
}
}
}

C# SqlBulkCopy 大量数据导入到数据库的更多相关文章

  1. 将Excel数据导入mysql数据库的几种方法

    将Excel数据导入mysql数据库的几种方法 “我的面试感悟”有奖征文大赛结果揭晓! 前几天需要将Excel表格中的数据导入到mysql数据库中,在网上查了半天,研究了半天,总结出以下几种方法,下面 ...

  2. 把Excel数据导入到数据库

    引入命名空间 using System.IO; using System.Data; using System.Data.OleDb; 引入命名空间 首先要把Excel上传到服务器 //上传Excel ...

  3. 利用TOAD实现把EXCEL数据导入oracle数据库

    利用TOAD实现把EXCEL数据导入oracle数据库 工具:   Toad11.7z(百度搜索,直接下载) 1.将Excel文件中某些字段导入到Oracle数据库的对应表 连接想要导入的数据库 ,然 ...

  4. c#将Excel数据导入到数据库的实现代码

    这篇文章主要介绍了c#将Excel数据导入到数据库的实现代码,有需要的朋友可以参考一下 假如Excel中的数据如下: 数据库建表如下: 其中Id为自增字段: 代码: 代码如下: using Syste ...

  5. C# DateTime的11种构造函数 [Abp 源码分析]十五、自动审计记录 .Net 登陆的时候添加验证码 使用Topshelf开发Windows服务、记录日志 日常杂记——C#验证码 c#_生成图片式验证码 C# 利用SharpZipLib生成压缩包 Sql2012如何将远程服务器数据库及表、表结构、表数据导入本地数据库

    C# DateTime的11种构造函数   别的也不多说没直接贴代码 using System; using System.Collections.Generic; using System.Glob ...

  6. java实现EXCEL数据导入到数据库中的格式问题的解决

    之前作为项目甲方,加之java接触不多,在java web开发方面都是打下手的份. 对于EXCEL数据导入到数据库这个问题一直老是出现格式原因而导入失败也是未免惆怅,开发团队也是只说回去检查一下格式. ...

  7. 把execel表数据导入mysql数据库

    今天,是我来公司第二周的第一天. 作为新入职的实习生,目前还没适合我的实质项目工作,今天的学习任务是: 把execel表数据导入到mysql数据库,再练习下java操作JDBC. 先了解下execel ...

  8. NOPI Excel 数据导入到数据库

    /// <summary> /// 上传excel文件 并将文件数据导入到数据库 /// </summary> /// <param name="file&qu ...

  9. jsp+servlet上传excel并将数据导入到数据库表的实现方法

    <%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding= ...

随机推荐

  1. RF之变量的共享使用与python测试库-5

    RF申明变量: 首先我们要创建Variables表 *** Settings *** ${LoginUrl}      http://cloud.innovpowerf.com/Account/Log ...

  2. Tensorflow之AttributeError: module 'tensorflow' has no attribute 'mul'

      tf.mul已经在新版本中被移除,请使用 tf.multiply 代替

  3. SVN团队开发项目工具(安装以及使用)

    https://pan.baidu.com/s/1jJyo9ue  密码:ce9z

  4. C# DataSet与DataTable的区别和用法 ---转载

    C# DataSet与DataTable的区别和用法 转载:https://www.cnblogs.com/liuyi-li/p/6340411.html DataSet是数据集,DataTable是 ...

  5. PaperReading20200222

    CanChen ggchen@mail.ustc.edu.cn   VS-GAE Motivation: With the publication of NAS101, researchers can ...

  6. 有关vector元素的取地址

    1--原则上,最好不要对vector的元素取地址,除非所有的vector元素已经填充完毕,这样vector的元素不会发生位置移动,地址才不会变,这样才能确保取得的地址的有效性.PS:即使在可以用已经分 ...

  7. Linux CentOS7 VMware正则介绍、grep工具、egrep表达式

    一.正则介绍 正则是学习shell脚本的必学的内容,正则学的好坏直接影响到shell编程能力. 正则表达式:使用单个字符串来描述或匹配一系列符合某个句法规则的字符串.通常用来检索和替换那些符合某个模式 ...

  8. 引用类型--Object类型、Array类型

    引用类型的值(对象)是引用类型的一个实例.在ECMAScript中,引用类型是一种数据结构,它描述的是一类对象具有的属性和方法. 对象是某个特定引用类型的实例,新对象是使用new操作符后跟一个构造函数 ...

  9. Java的SpringMVC执行流程

    SpringMVC找Controller流程 1.扫描整个项目(Spring已经做了)定义一个Map集合. 2.拿到所有加了@Controller注解的类. 3.遍历类里面的所有方法对象. 4.判断方 ...

  10. Windows驱动开发-符号链接和设备名

    windows下的设备是以"\Device\[设备名]”形式命名的. 例如磁盘分区的C盘,D盘的设备名称就是 "\Device\HarddiskVolume2” "\De ...