c#代码,批量导入数据代码

public class MySql_Target : ZFCommon.DataAccesser.Base.DABase{public MySql_Target(){this.InitDataAccesser(ZFCommon.DataAccesser.DatabaseType.MySql, ReadConfig.TargetConnection);}///大批量数据插入,返回成功插入行数  /// </summary>  /// <param name="connectionString">数据库连接字符串</param>  /// <param name="table">数据表</param>  /// <returns>返回成功插入行数</returns>  public  int BulkInsert( DataTable table){if (string.IsNullOrEmpty(table.TableName)) throw new Exception("请给DataTable的TableName属性附上表名称");if (table.Rows.Count == 0) return 0;int insertCount = 0;string tmpPath = Path.GetTempFileName();string csv = DataTableToCsv(table);File.WriteAllText(tmpPath, csv);// MySqlTransaction tran = null;  using (MySqlConnection conn = new MySqlConnection(ReadConfig.TargetConnection)){try{conn.Open();//tran = conn.BeginTransaction();  MySqlBulkLoader bulk = new MySqlBulkLoader(conn){FieldTerminator = ",",FieldQuotationCharacter = '"',EscapeCharacter = '"',LineTerminator = "\r\n",FileName = tmpPath,NumberOfLinesToSkip = 0,TableName = table.TableName,};//bulk.Columns.AddRange(table.Columns.Cast<DataColumn>().Select(colum => colum.ColumnName).ToArray());  insertCount = bulk.Load();// tran.Commit();
                }catch (MySqlException ex){// if (tran != null) tran.Rollback();  throw ex;}}File.Delete(tmpPath);return insertCount;}///将DataTable转换为标准的CSV  /// </summary>  /// <param name="table">数据表</param>  /// <returns>返回标准的CSV</returns>  private static string DataTableToCsv(DataTable table){//以半角逗号(即,)作分隔符,列为空也要表达其存在。  //列内容如存在半角逗号(即,)则用半角引号(即"")将该字段值包含起来。  //列内容如存在半角引号(即")则应替换成半角双引号("")转义,并用半角引号(即"")将该字段值包含起来。  StringBuilder sb = new StringBuilder();DataColumn colum;foreach (DataRow row in table.Rows){for (int i = 0; i < table.Columns.Count; i++){colum = table.Columns[i];if (i != 0) sb.Append(",");if (colum.DataType == typeof(string) && row[colum].ToString().Contains(",")){sb.Append("\"" + row[colum].ToString().Replace("\"", "\"\"") + "\"");}else sb.Append(row[colum].ToString());}sb.AppendLine();}return sb.ToString();}  }

从sqlserver读取数据,并调用 上面导入代码

  //学生课表public int SyncStu_Course(){DataTable dataTable = this.GetDataTable("select * from V_Schedule_Stud");dataTable.TableName = "V_Schedule_Stud";MySql_Target tarDb = new MySql_Target();return tarDb.BulkInsert(dataTable);}

运行速度高效: 63万条数据 只需5分钟 导出并导入完成!

转载于:https://www.cnblogs.com/yzssoft/p/6961795.html

大数据批量导入,解决办法,实践从定时从 sqlserver 批量同步数据到 mySql相关推荐

  1. HBase 高性能获取数据(多线程批量式解决办法) + MySQL和HBase性能测试比较

    转载于:http://www.cnblogs.com/wgp13x/p/4245182.html 摘要:   在前篇博客里已经讲述了通过一个自定义 HBase Filter来获取数据的办法,在末尾指出 ...

  2. 初学rpa的十大经典错误及解决办法_Python3之十大经典错误及其解决办法

    作者 | 严小样儿 来源 | 统计与数据分析实战 接触了很多Python爱好者,有初学者,亦有转行人.不论大家学习Python的目的是什么,总之,学习Python前期写出来的代码不报错就是极好的.下面 ...

  3. hive数据倾斜的解决办法

    数据倾斜是进行大数据计算时常见的问题.主要分为map端倾斜和reduce端倾斜,map端倾斜主要是因为输入文件大小不均匀导致,reduce端主要是partition不均匀导致. 在hive中遇到数据倾 ...

  4. 【Python基础】Python3十大经典错误及解决办法

    ◆ ◆ ◆  ◆ ◆ 接触了很多Python爱好者,有初学者,亦有转行人.不论大家学习Python的目的是什么,总之,学习Python前期写出来的代码不报错就是极好的.下面,严小样儿为大家罗列出Pyt ...

  5. unity消息队列判断字符串相等有错误_Python3十大经典错误及解决办法

    ◆ ◆ ◆  ◆ ◆ 接触了很多Python爱好者,有初学者,亦有转行人.不论大家学习Python的目的是什么,总之,学习Python前期写出来的代码不报错就是极好的.下面,严小样儿为大家罗列出Pyt ...

  6. python3经典实例_Python3十大经典错误及解决办法

    接触了很多Python爱好者,有初学者,亦有转行人.不论大家学习Python的目的是什么,总之,学习Python前期写出来的代码不报错就是极好的.下面,严小样儿为大家罗列出Python3十大经典错误及 ...

  7. [转载] Python3十大经典错误及解决办法

    参考链接: Python中的关键字2 ◆ ◆ ◆  ◆ ◆ 接触了很多Python爱好者,有初学者,亦有转行人.不论大家学习Python的目的是什么,总之,学习Python前期写出来的代码不报错就是极 ...

  8. compress后的bytearray再decode变大_笔记本电脑风扇噪音变大的原因及其解决办法

    笔记本使用时间长了之后,风扇声音会变大,那么如何再把风扇声音变小呢?怎么减小笔记本风扇的噪音?是什么原因导致笔记本风扇声音变大?下面给大家介绍笔记本风扇声音变大的原因及其解决办法. 原因: 1.使用时 ...

  9. C#使用ListView更新数据出现闪烁解决办法

    C#使用ListView更新数据出现闪烁解决办法 在使用vs自动控件ListView控件时候,更新里面的部分代码时候出现闪烁的情况 如图: 解决以后: 解决办法使用双缓冲:添加新类继承ListView ...

最新文章

  1. LeetCode--448
  2. 第5章:可复用性的软件构建方法 5.2面向复用的构造
  3. 一个手机号码剔重的问题
  4. 首届“腾讯云+社区开发者大会”正在直播!
  5. Halcon和Opencv的区别?
  6. mysql index sub part_mysql中的key和index 理解
  7. java对日期Date类进行加减运算、年份加减,月份加减
  8. ActivePython 百科指南
  9. 问题 J: Sequence Problem (II) : Array Practice
  10. Zabbix监控Jenkins过程详解
  11. python海龟图画龙珠_DeepOps的Python小笔记-天池龙珠计划-Python训练营-Task 02:DAY5
  12. 纽微特记事:发火说产品差,业务开展不了,怎么不找自已的问题
  13. 当你拥有足够的经验时,自然就会想到的东西---面向对象的设计原则!
  14. IE、Chrome、Firefox下的按钮文字居中
  15. oracle导出报错00091,exp报错:EXP-00091 Exporting questionable statistics
  16. kubernetes学习总结-9Kubernetes的存储机制
  17. flutter TextField删除文字后光标跑到文字末尾
  18. 人生有三重境界:看山是山,看水是水;看山不是山,看水不是水;看山还是山,看水还是水
  19. 全球与中国单模连续光纤激光器市场现状及未来发展趋势
  20. 流程设计建模方法:流程的需求梳理之流程级别梳理

热门文章

  1. ORACLE 体系结构知识总结
  2. phpmyadmin另类拿shell
  3. 金山发布《2006年度信息安全报告》
  4. linux blfs安装桌面,【Linux】Ubuntu14.04安装bridge-utils安装brctl
  5. deno使用rust_如何在Deno和Oak中使用MySQL
  6. 全球链界科技发展大会_如何成为科技界的团队合作者
  7. 大二上学数据结构和操作系统_毕业后的工作比上学要重要得多。 这是数据。...
  8. ZJU-java进阶笔记 第七周(输入输出)
  9. linux下刻录iso,linux刻录iso
  10. C#Hello World