Rss & SiteMap

Foxtable(狐表) http://www.foxtable.com

新一代数据库软件,完美融合Access、Foxpro、Excel、vb.net之优势,人人都能掌握的快速软件开发工具!
共231 条记录, 每页显示 10 条, 页签: [1] [2][3][4][5][6][7][8] ...[24]
[浏览完整版]

标题:[总结分享]sqlBulkCopy批量插入大量数据到Sql数据库 (批量导入、快速导入、1秒1w行、快速Excel导入)

1楼
chen37280600 发表于:2020/3/13 11:56:00

(快速浏览杰哥分享过的所有经验汇总,点击跳转


在论坛看到有人问这个sqlBulkCopy,就试一下,顺便总结一下使用sqlBulkCopy批量插入数据。这个只能插入不能修改
插上1w行以上级别时,特别好用。

以下代码,适合于把本地表,大量插入到数据库的同一个表。
如果不是同一个表的导入,推荐你自己看懂代码,稍微修改

Dim dt As DataTable = DataTables("UpdateLog") '修改为你的表
Dim conStr As String = "server=xxx,1433;uid=xxx;pwd=xxx;database=MH1WebDB" '改为自己数据库的连接字符串,注意跟狐表的数据库字符串不同,不能拿来用

Dim tran As System.Data.SqlClient.SqlTransaction
Dim conn As new System.Data.SqlClient.SqlConnection(conStr)

以下内容只有回复后才可以浏览

注意事项:
1.原始表和目标表,要求表结构完全一样,为了防止掉坑,我推荐直接用SqlCommand对着目标表,查询一个空白的临时结构表出来,然后利用这个结构表addnew,然后插入数据库,最后扔掉这个临时表
这种做法,就能在BS开发里,进入异步进行大量插入。一般批量插入都是耗时的,都是开异步,开异步就不能利用主线程的表,得用我这个思路

2.数据量越多越体现优势,在0.5-3万时没什么感觉,在10-100万行时,基本能得到1秒1w+行的速度

3.导入速度,软件层会受 主键/索引/触发器/外键 等影响,硬件层会受 网络带宽 / 服务器I/O / 服务器硬盘读取/写入等影响,所以每个人效果都不同,自行测试


此主题相关图片如下:1.png
按此在新窗口浏览图片


此主题相关图片如下:2.png
按此在新窗口浏览图片


此主题相关图片如下:3.png
按此在新窗口浏览图片


===============================================================
顺便总结以前分享过的帖子,方便大家学习

联系QQ:2385350359

免费产品:

经验分享:




















[此贴子已经被作者于2024/6/5 18:09:59编辑过]
2楼
zhy400137 发表于:2020/3/13 12:15:00
学习
3楼
Hopenight 发表于:2020/3/13 12:23:00
学习
4楼
haotinghua 发表于:2020/3/13 12:41:00
看看
5楼
李孝春 发表于:2020/3/13 12:50:00
学习
6楼
一丁 发表于:2020/3/13 12:51:00
来学习
7楼
baicaocao 发表于:2020/3/13 13:00:00
 学习
8楼
rogen 发表于:2020/3/27 10:22:00
学习
9楼
蓝才文百 发表于:2020/3/27 10:23:00
学习
10楼
xxfoxtable 发表于:2020/3/27 11:09:00
 加精
共231 条记录, 每页显示 10 条, 页签: [1] [2][3][4][5][6][7][8] ...[24]

Copyright © 2000 - 2018 foxtable.com Tel: 4000-810-820 粤ICP备11091905号

Powered By Dvbbs Version 8.3.0
Processed in .04688 s, 3 queries.