> 데이터 베이스 > MySQL 튜토리얼 > C#往SQLServer中插入大数据

C#往SQLServer中插入大数据

WBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWB
풀어 주다: 2016-06-07 15:04:19
원래의
1020명이 탐색했습니다.

以前 插入 大 数据 的时候都是一条一条的 插入 ,由于电脑配置不行,有一次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.cn
본 웹사이트의 성명
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.
인기 튜토리얼
더>
최신 다운로드
더>
웹 효과
웹사이트 소스 코드
웹사이트 자료
프론트엔드 템플릿