• Csharp 讀取大文本文件數據到DataTable中,大批量插入到數據庫中


    文本文件中的內容格式為:(其中問題,誰能否解決大於15M的文本文件能快速讀到DataTable中)

    俚    rustic
    俚语    slang
    哩    mile
    哩    onomat
    哩数    milage
    逦    winding
    理    logic
    理    reason
    理    science
    理八郎    Rihachiro
    理兵卫    Rihee
    理兵卫    Rihei
    理财    financing
    理财    portfolio
    理查    Richard
    理查德    Richard
    理查德冰川    Richardsbreen
    理查顿    Richardton
    理查多    Richardo
    理查多维奇    Richardovich
    理查姆斯    Richarms
    理查森    Richardson
    理查特    Richart
    理查特    Richarte
    理查兹    Richards
    理察    Richard
    理次郎    Masajiro
    理发    airdressing
    理发    coiffure
    理发    hairdressing
    理发店    barbers
    理发师    barber
    理法    logos
    理蕃    barbarians
    理工    sciences
    理光    Ricoh
    理化    chemistry
    理化学研究所    RIKEN
    理会    notice
    理吉郎    Rikichiro
    理解    comprehend
    理解    comprehension
    理解    understand
    理解    understandable
    理解    understanding
    理解力    comprehension
    理解能力    savvy
    理解人    understanding
    理经济学    Matekon
    理开    sleave
    理理恩龙    Liliensternus
    理疗医师    physiatrician
    理论    theories
    理论    theory
    理论地    theoretically
    理论化    theorise
    理论家    doctrinarian
    理论家    theoretician
    理论家    theorist
    理论上    academically
    理论上    theoretically
    理念    concept
    理念    concepts
    理念    ideal
    理念    ideals
    理念    ideas
    理赔    compensate
    理七郎    Rishichiro
    理三郎    Risaburo
    理十郎    Rijuro
    理市郎    Riichiro
    理事    director
    理事    syndic
    理事长    director
    理事长    frata
    理事会    council
    理事会    meeting
    理事之职    directorate
    理四郎    Rishiro
    理松庵    Rishoan
    理所当然    behoove
    理所当然    naturally
    理所当然    proper
    理太郎    Ritaro
    理塘    Litang
    理夏德    Ryszard
    理想    ideal
    理想    Ideal
    理想    idealism
    理想    idealists
    理想    ideals
    涂聚文  GeovinDu
    涂斯博  SiboDu
    理想报    Ideal
    理想报    Kalpana
    理想标准公司    Ideal-standard
    理想地    ideally
    理想国    utopia
    理想国    Utopia
    理想化    idealisation
    理想化    idealization
    理想化    idealize
    理想美    beauideal
    理想目标    dreamboat
    理想坡莫合金    idealoy
    理想人物    dreamboat
    理想上    ideally
    理想主义    idealism
    理想主义地    idealistically
    理想主义者    idealist
    理性    rational
    理性    rationality
    理性    reason
    理性论    rationalism
    理性论者    rationalist
    理性主义    rationalism
    理性主义者    rationalist
    塗聚文  GeovinDu

    01 /// <summary>
    02 /// 從文本文件中讀取數據到DatatTable中
    03 /// 塗聚文 2011-11-22
    04 /// 締友計算機信息技術有限公司 捷為工作室
    05 /// </summary>
    06 /// <returns></returns>
    07 private DataTable CreateDataTableFromFile()
    08 {
    09     DataTable dt = new DataTable();
    10     DataColumn dc;
    11       
    12  
    13     dc = new DataColumn();
    14     dc.DataType = System.Type.GetType("System.Int32");
    15     dc.ColumnName = "序号";
    16     dc.Unique = false;
    17     dt.Columns.Add(dc);
    18     dc = new DataColumn();
    19     dc.DataType = System.Type.GetType("System.String"); 
    20     dc.ColumnName = "中文";
    21     dc.Unique = false;
    22     dt.Columns.Add(dc);
    23     dc = new DataColumn();
    24     dc.DataType = System.Type.GetType("System.String");
    25     dc.ColumnName = "英文";
    26     dc.Unique = false;
    27     dt.Columns.Add(dc);
    28  
    29     StreamReader sr = new StreamReader(file);//text文件地址 大的文件,當讀出到DatatTable中,可以批理插入數據庫中
    30     string input;
    31     string cn = string.Empty;
    32     string en = string.Empty;
    33     int index = 0;
    34     while ((input = sr.ReadLine()) != null)
    35     {
    36         this.richTextBox1.AppendText(input + "\r\n"); 
    37         string[] s = input.Split(new char[] { '\t',' ' });
    38         //dr = dt.NewRow();
    39         //dr["序号"] = index;
    40         for (int i = 0; i < input.Length; i++)
    41         {
    42             if (i == 0)
    43             {
    44                 cn = s[i].ToString();
    45                 //dr["中文"] = s[i].ToString();
    46             }
    47             if (i == 1)
    48             {
    49                 en = s[i].ToString();
    50                 //dr["英文"] = s[i].ToString();
    51             }
    52         }               
    53           
    54         //dr["c4"] = s[3];
    55         //dt.Rows.Add(dr);
    56         dt.Rows.Add(index, cn, en);
    57         index++;
    58         Application.DoEvents();       
    59     }
    60     sr.Close();
    61     return dt;
    62 }
    01 /// <summary>
    02 /// DatatTable數據批理插入數據庫中
    03 /// 塗聚文 2011-11-22
    04 /// 締友計算機信息技術有限公司 捷為工作室
    05 /// </summary>
    06 private void StartImport()
    07 {
    08     Stopwatch sw = new Stopwatch();
    09     sw.Start();
    10     SqlBulkCopy bulkCopy = new SqlBulkCopy(connectionString, SqlBulkCopyOptions.TableLock);
    11     bulkCopy.DestinationTableName = "GeovinDuDictionary";
    12     bulkCopy.BatchSize = 1000000;  //每一批次產生的行數
    13     bulkCopy.NotifyAfter = 1000;
    14     bulkCopy.ColumnMappings.Add("中文", "WordChina"); //
    15     bulkCopy.ColumnMappings.Add("英文", "WordEnglish");
    16     bulkCopy.WriteToServer(CreateDataTableFromFile());
    17     sw.Stop();
    18     richTextBox1.Text = (sw.ElapsedMilliseconds / 1000.00).ToString();
    19 }
    哲学管理(学)人生, 文学艺术生活, 自动(计算机学)物理(学)工作, 生物(学)化学逆境, 历史(学)测绘(学)时间, 经济(学)数学金钱(理财), 心理(学)医学情绪, 诗词美容情感, 美学建筑(学)家园, 解构(分析)整合学习, 情商(EQ)运筹(学)成功.---Geovin Du(涂聚文)
  • 相关阅读:
    Git配置
    第一次作业
    第二次作业
    python目前最好用的IDE——pycharm
    九九乘法表
    python语言的优点和缺点
    Python高效编程的19个技巧
    Python中 filter | map | reduce | lambda的用法
    Python 代码优化常见技巧
    求逆序对
  • 原文地址:https://www.cnblogs.com/moss_tan_jun/p/2263887.html
Copyright © 2020-2023  润新知