c# 向数据库插数据超过1000条
今天想着如何大批量插入数据到数据库中 最开始的想法是使用insert循环插入 但每次都要创建数据库连接 这是非常消耗时间和消耗资源的事。后在网上看到了说使用SqlBulkCopy ,就看了看文档和别人的列子 感觉理解到了一点大概的使用方法 就打算记录下来 方便自己以后使用
- <code class="language-csharp">using System;
- using System.Collections.Generic;
- using System.Data;
- using System.Data.SqlClient;
- using System.Linq;
- using System.Text;
- using System.Threading.Tasks;
- namespace 测试
- {
- class Program
- {
- static void Main(string[] args)
- {
- //创建一个DataTable对象
- DataTable dt = new DataTable();
- dt.Columns.Add("name",typeof(string));
- //给dt内存表插入数据
- for (int i = 0; i < 1000000; i++)
- {
- dt.Rows.Add("测试" + i);
- }
- System.Diagnostics.Stopwatch st = new System.Diagnostics.Stopwatch();
- st.Start();
- using (SqlConnection conn = new SqlConnection("server=.;uid=sa;pwd=1316123;database=Temp"))
- {
- conn.Open();
- using (SqlBulkCopy bulkCopy = new SqlBulkCopy(conn))
- {
- try
- {
- //插入到数据库的目标表 TbA:表名
- bulkCopy.DestinationTableName = "[dbo].[temptable]";
- //内存表的字段 对应数据库表的字段
- bulkCopy.ColumnMappings.Add("name", "TempData");
- bulkCopy.WriteToServer(dt);
- }
- catch (Exception ex)
- {
- Console.WriteLine(ex);
- }
- }
- }
- st.Stop();
- Console.WriteLine("成功!测试时间为:"+st.ElapsedMilliseconds);
- Console.ReadKey();
- }
- }
- }
- </code>
c# 向数据库插数据超过1000条的更多相关文章
- oracle select in超过1000条报错解决方法
本博客介绍oracle select in超过1000条数据的解决方法,java框架是采用mybatis的,这可以说是一种比较常见的错误:select * from A where id in(... ...
- 用Entity Framework往数据库插数据时,出现异常,怎么查看异常的详细信息呢?
做项目时,在用Entity Framework往数据库插数据时,程序报异常,但是通过报的异常死活没法查看异常的详细信息.这让人很是烦恼.本着自己动手丰衣足食的原则,通过查看资料终于找到了显示异常详细信 ...
- 保留mysql数据库中的最新1000条记录
<?php mysql_connect("localhost","root","root");mysql_select_db(&quo ...
- 14、通过jpa往数据库插数据
这是接着上一篇写的,在上一篇的基础上添加 Controller @RestController public class HelloController { @Resource private Hel ...
- Hibernate 连接数据库,数据库返回数据超过限制报错
1.packet for query is too large 1024 >. you can change this value on the server mysql max_allowed ...
- AD查询1000条限制和解决方案
公司的一个项目要从AD上取数据,为了测试性能,批量在AD上创建了2000多个用户.但是用java程序获取所有用户的时候会报错或者只能取到1000条数据. 条数据. 用org.springfra ...
- 关于Highcharts数据量超过1000时无法显示问题
今天在vue的项目中引入Highcharts,想做一个大数据量的实时刷新曲线图,发现当数据量超过1000就无法显示. 经过排查发现 Highcharts为了保证更好的性能设置了一个性能阈值检查,当数据 ...
- laravel如何从mysql数据库中随机抽取n条数据
laravel如何从mysql数据库中随机抽取n条数据 一.总结 一句话总结: inRandomOrder():$userQuestions=UserQuestion::where($map)-> ...
- java 将数据库中的每一条数据取出放入数组或者List中
1.如何将数据库中数据按照行(即一整条数据)取出来,存入到数组当中? public static String str = null; // 将StringBuffer转化成字符串 public st ...
随机推荐
- P4783 【模板】矩阵求逆
原题链接 https://www.luogu.org/problemnew/show/P4783 一道模板题,更重要的省选难度..... 题目要求的是一个n*n的逆矩阵,还要对大数取膜. 普通高中生: ...
- [BJOI2019] 光线
看起来很麻烦,做起来并不难的题 以下设:$a_i=\frac{a_i}{100},b_i=\frac{b_i}{100}$ 显然,如果$b_i=0$的话,直接求$\Pi a_i$就是答案. 解决反射问 ...
- nginx的信号量
一.官方文档 https://www.nginx.com/resources/wiki/start/topics/tutorials/commandline/ 二.nginx进程说明 一般在nginx ...
- Docker:macvlan实现容器跨主机通信 [十四]
一.什么是macvlan 1.macvlan 本身是 linux kernel 模块,其功能是允许在同一个物理网卡上配置多个 MAC 地址, 2.即多个 interface,每个 interface ...
- django - 总结 - ModelForm
gender = forms.ChoiceField(choices=((1, '男'), (2, '女'), (3, '其他'))) # 与sql没关系 publish = forms.Choice ...
- HTML(九)HTML 条件注释规范
HTML 条件注释(hack常用) IE条件注释是微软从IE5开始就提供的一种非标准逻辑语句,作用是可以灵活的为不同IE版本浏览器导入不同html元素.很显然这种方法的最大好处就在于属于微软官方给出的 ...
- redis远程连接报错记录
错误如下 redis可视化工具连接测试 telnet ip 6379 修改关键参数如下 #开通外网访问 # bind 127.0.0.1 #以后台方式运行 daemonize no #取消保护模式,保 ...
- Python包中__init__.py作用
在创建python包的过程中,IDE都会在包根目录下创建一个__init__.py文件,该Python文件默认是空的.目录结构如下: Pycharm下的package树结构: 在Finder中的目录结 ...
- Navier-Stokes equations (Lectured by Luis Caffarelli)
百万美元问题: http://www.claymath.org/millennium-problems/navier%E2%80%93stokes-equation Official Problem ...
- [物理学与PDEs]第2章习题1 无旋时的 Euler 方程
试证明: 当流场为无旋, 即 $\rot{\bf u}={\bf 0}$ 时, 理想流体的 Euler 方程可写为如下形式: $$\bex \cfrac{\p {\bf u}}{\p t}+\n \c ...