博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
C#往SQLServer中插入大数据
阅读量:5897 次
发布时间:2019-06-19

本文共 1555 字,大约阅读时间需要 5 分钟。

以前插入大数据的时候都是一条一条的插入,由于电脑配置不行,有一次17万条数据用了半个小时才插入完成,那个蛋疼啊!

前面听杨中科老师的课,发现一个很好的东西,25万条数据配置好的电脑几秒钟就完成了,那是一个怎样神奇的代码呢? 

我借花献佛下,呵呵 都是杨中科老师写的  拿出来晒晒 勿喷

数据表T_Nums中有四个字段:

NumSection,AddressStr,NumType,AreaCode

然后从文本文件中读取输入到一个DataTable中,然后将DataTable插入数据库即可 速度实在是太快了

运行截图:

由于代码比较简单,没有写注释,有不懂的看帮助文档或者留言  不喜勿喷...

以下是代码:

string connStr = "Data Source=WADE-PC;Initial Catalog=Test;Persist Security Info=True;User ID=sa;Password=123456";

DateTime startTime = DateTime.Now;
OpenFileDialog dialog = new OpenFileDialog();
dialog.Filter = "文本文件(*.txt)|*.txt";
if (dialog.ShowDialog() == DialogResult.OK)
{
DataTable dt = new DataTable();
dt.Columns.Add("NumSection");
dt.Columns.Add("AddressStr");
dt.Columns.Add("NumType");
dt.Columns.Add("AreaCode");

IEnumerable<string> lines = File.ReadLines(dialog.FileName, Encoding.Default);

foreach (string str in lines)
{
string[] strs = str.Split('\t');
DataRow row = dt.NewRow();
row["NumSection"] = strs[0];
row["AddressStr"] = strs[1].ToString().Trim('"');
row["NumType"] = strs[2].ToString().Trim('"');
row["AreaCode"] = strs[3].ToString().Trim('"');
dt.Rows.Add(row);
}
using (SqlBulkCopy bulkCopy=new SqlBulkCopy(connStr))
{
bulkCopy.DestinationTableName = "T_Nums";
bulkCopy.ColumnMappings.Add("NumSection", "NumSection");
bulkCopy.ColumnMappings.Add("AddressStr", "AddressStr");
bulkCopy.ColumnMappings.Add("NumType", "NumType");
bulkCopy.ColumnMappings.Add("AreaCode", "AreaCode");
bulkCopy.WriteToServer(dt);
}

TimeSpan ts = DateTime.Now.Subtract(startTime);

MessageBox.Show("一共插入" + dt.Rows.Count + "条数据,用时:" + ts.ToString());

转载地址:http://ucxsx.baihongyu.com/

你可能感兴趣的文章
Spring Cloud 入门教程(二): 服务消费者(rest+ribbon)(Greenwich.RELEASE)
查看>>
iOS开发20:Navigation Bar的简单设置
查看>>
iOS开发24:使用SQLite3存储和读取数据
查看>>
GMF树形布局 2 实现展开/折叠
查看>>
Cocos2dx 2.0x Touch事件
查看>>
php判断是否登录
查看>>
Yii2 Unable to verify your data submission 错误-CSRF
查看>>
angularjs-paste-upload
查看>>
解除 Linux 系统的最大进程数和最大文件打开数限制
查看>>
Java类的修饰符判断:java.lang.reflect.Modifier
查看>>
使用优盘或者移动硬盘安装Ubuntu
查看>>
electron-创建一个hello world应用
查看>>
RXjs相关
查看>>
百练2973: Skew binary 数 之 Java 题解
查看>>
SaltStack配置管理
查看>>
linux基础命令 head
查看>>
在模板中将php数组转换成js对象
查看>>
使用java调用FFMPEG进行转码
查看>>
克隆虚拟机以及互相登陆
查看>>
AES加密解密
查看>>