热门标签 | HotTags
当前位置:  开发笔记 > 数据库 > 正文

C#往SQLServer中插入大数据

以前插入大数据的时候都是一条一条的插入,由于电脑配置不行,有一次17万条数据用了半个小时才插入完成,那个蛋疼啊!25万条数据配置好的电脑几秒钟就完成了,那是一个怎样神奇的代码呢?我借花献佛下,呵呵都是杨中科老师写的拿出来晒晒勿喷

以前 插入 大 数据 的时候都是一条一条的 插入 ,由于电脑配置不行,有一次17万条 数据 用了半个小时才 插入 完成,那个蛋疼啊! 25万条 数据 配置好的电脑几秒钟就完成了,那是一个怎样神奇的代码呢? 我借花献佛下,呵呵 都是杨中科老师写的 拿出来晒晒 勿喷

  以前插入数据的时候都是一条一条的插入,由于电脑配置不行,有一次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 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());

【责编:peter】

推荐阅读
  • PHP中Smarty模板引擎自定义函数详解
    本文详细介绍了如何在PHP的Smarty模板引擎中自定义函数,并通过具体示例演示了这些函数的使用方法和应用场景。适合PHP后端开发者学习。 ... [详细]
  • 本文探讨了MySQL中的死锁现象及其监控方法,并介绍了如何通过配置和SQL语句调整来优化数据库性能。同时,还讲解了慢查询日志的配置与分析技巧。 ... [详细]
  • MVC模式下的电子取证技术初探
    本文探讨了在MVC(模型-视图-控制器)架构下进行电子取证的技术方法,通过实际案例分析,提供了详细的取证步骤和技术要点。 ... [详细]
  • 【MySQL】frm文件解析
    官网说明:http:dev.mysql.comdocinternalsenfrm-file-format.htmlfrm是MySQL表结构定义文件,通常frm文件是不会损坏的,但是如果 ... [详细]
  • 数据输入验证与控件绑定方法
    本文提供了多种数据输入验证函数及控件绑定方法的实现代码,包括电话号码、数字、传真、邮政编码、电子邮件和网址的验证,以及报表绑定和自动编号等功能。 ... [详细]
  • 本文介绍了MySQL窗口函数的基本概念、应用场景及常见函数的使用方法。窗口函数在处理复杂查询时非常有用,例如计算每个用户的订单排名、环比增长率、以及动态聚合等。 ... [详细]
  • 本文介绍了如何在 Oracle 数据库中查询重复数据,并提供了多种方法来筛选和删除重复记录,包括基于单个字段和多个字段的重复数据处理。 ... [详细]
  • 美团安全响应中心推出全新配送业务测试活动,带来双重福利,邀您共同参与! ... [详细]
  • 1、编写一个Java程序在屏幕上输出“你好!”。programmenameHelloworld.javapublicclassHelloworld{publicst ... [详细]
  • 解决ADODB连接Access时出现80004005错误的方法
    本文详细介绍了如何解决在使用ADODB连接Access数据库时遇到的80004005错误,包括错误原因分析和具体的解决步骤。 ... [详细]
  • binlog2sql,你该知道的数据恢复工具
    binlog2sql,你该知道的数据恢复工具 ... [详细]
  • Hibernate全自动全映射ORM框架,旨在消除sql,是一个持久层的ORM框架1)、基础概念DAO(DataAccessorOb ... [详细]
  • 最适合初学者的编程语言
    本文探讨了适合编程新手的最佳语言选择,包括Python、JavaScript等易于上手且功能强大的语言,以及如何通过有效的学习方法提高编程技能。 ... [详细]
  • 本文详细解析了MySQL中常见的几种错误,并提供了具体的解决方法,帮助开发者快速定位和解决问题。 ... [详细]
  • Spring框架中的面向切面编程(AOP)技术详解
    面向切面编程(AOP)是Spring框架中的关键技术之一,它通过将横切关注点从业务逻辑中分离出来,实现了代码的模块化和重用。AOP的核心思想是将程序运行过程中需要多次处理的功能(如日志记录、事务管理等)封装成独立的模块,即切面,并在特定的连接点(如方法调用)动态地应用这些切面。这种方式不仅提高了代码的可维护性和可读性,还简化了业务逻辑的实现。Spring AOP利用代理机制,在不修改原有代码的基础上,实现了对目标对象的增强。 ... [详细]
author-avatar
w果乐园地盘BSp
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有