#region 将Xml中的数据读到Dataset中,然后用SqlBulkCopy类把数据copy到目的表中
using (XmlTextReader xmlReader = new XmlTextReader(sourcePath))
{
    DataSet ds = new DataSet();
    ds.ReadXml(XmlReader.Create(sourcePath));//把数据读到DataSet这个过程有点慢,取决于XML文件大小
    using (SqlBulkCopy bcp = new SqlBulkCopy(targetDBCon))
    {
        bcp.BatchSize = ds.Tables[0].Rows.Count;
        bcp.DestinationTableName = targetTableName;
        #region 源表和目的表列匹配,只导入匹配列对应的数据;如果XML中的节点能和目的表中的栏位一一对应,这段程序可不要。
        StringBuilder sbSQL = new StringBuilder();
        sbSQL.AppendFormat("select top 1 * from {0}", targetTableName);
        DbHelperSQL dbHelper = new DbHelperSQL();//自定义数据库操作类
        DataTable dt = dbHelper.GetDataTable(targetDBCon, sbSQL.ToString());
        for (int i = 0; i < dt.Columns.Count; i++)
        {
            for (int j = 0; j < ds.Tables[0].Columns.Count; j++)
            {
                if (dt.Columns[i].ColumnName == ds.Tables[0].Columns[j].ColumnName)
                    bcp.ColumnMappings.Add(ds.Tables[0].Columns[j].ColumnName, dt.Columns[i].ColumnName);
            }
        }
        #endregion
        bcp.WriteToServer(ds.Tables[0]);
    }
}
#endregion

转载于:https://www.cnblogs.com/tongyinaocan/p/3210404.html

C#快速导入海量XML数据至SQL Server数据库相关推荐

  1. 快速附加没有日志文件的 SQL Server 数据库文件!

    快速附加没有日志文件的 SQL Server 数据库文件: 1 CREATE DATABASE [数据库名称] 2 ON (FILENAME = '数据库文件路径和文件名(如:D:\db\mydb.m ...

  2. 将DataTable 数据插入 SQL SERVER 数据库

    原文:将DataTable 数据插入 SQL SERVER 数据库 以下提供3中方式将DataTable中的数据插入到SQL SERVER 数据库: 一:使用sqlcommand.executenon ...

  3. 使用python采集MDB数据到SQL server数据库

    目录 一.读取MDB数据 二.转化为DataFrame数据格式 三.导入SQL server 一.读取MDB数据 import pypyodbc p_path = r'专题3.3 结构化信息采集\da ...

  4. 快速批量导入庞大数据到SQL SERVER数据库(ADO.NET)

    原文地址:http://www.cnblogs.com/chenxizhang/archive/2008/11/11/1331060.html 如果你需要在程序中批量插入成千上万行的数据,你会怎么编写 ...

  5. asp.net C# 实现上传Excel文件导入数据到SQL Server 数据库

    前台代码,有点简单: <html xmlns="http://www.w3.org/1999/xhtml"> <head runat="server&q ...

  6. 使用BULK INSERT高效导入大量数据到SQL Server数据库

    源数据 (文本文件) 下载了大量的股票历史数据, 都是文本格式的: 每个文件第一行包含股票代码, 股票名称, 数据类型. 第二行是数据列的名称: 数据表 在数据库中新建了一个数据表TestStock, ...

  7. VS用SSIS实现SQL Server数据库与Excel表格数据的相互导入

    VS用SSIS实现SQL Server数据库与Excel表格数据的相互导入 打开Visual Studio 2019,新建Integration Services项目 拖一个数据流任务到控制流中 切换 ...

  8. SQL Server 数据库之导入导出数据

    导入导出数据 1. 概述 2. 导入 SQL Server 数据表 3. 导入其他数据源的数据 4. 导出 SQL Server 数据表 1. 概述 导入数据也是数据库操作中使用频繁的功能,SQL S ...

  9. ExcelToDatabase:批量导入Excel文件到MySQL/Oracle/SQL Server数据库的自动化工具

    ExcelToDatabase:批量导入Excel到MySQL/Oracle/SQL Server数据库的自动化工具 简介 ExcelToDatabase 是一个可以批量导入excel到mysql/o ...

最新文章

  1. MySQL数据库(五)使用pymysql对数据库进行增删改查
  2. 如何干掉恶心的 SQL 注入?
  3. xargs的简单解析
  4. 岗位内推 | 微软亚洲互联网工程院自然语言处理组招聘NLP工程师
  5. python中的string模块_有没有可能模仿Python中的string模块?
  6. 从“学徒”(Apprentice III)看领导力(9-17集)
  7. POJ - 3764 The xor-longest Path(字典树性质)
  8. ARC068C - Snuke Line
  9. 前端学习(1940)vue之电商管理系统电商系统之代码提交
  10. 【大数据系列】hadoop单节点安装官方文档翻译
  11. Serverless 终结 Kubernetes?
  12. 蓝牙配对不弹配对框_配对编程在工作场所的好处和陷阱
  13. java int 指针_如何在Java中使用指针?
  14. Atitit springboot 上传与下载总结 上传 使用file对象的transferTo保存方法最简单 @RequestMapping(value = /up, method = R
  15. 音频编码格式与术语汇总
  16. 06-图3 六度空间
  17. 冷藏温度范围_食品冷藏的温度是多少
  18. c语言禁用键盘,C/C++ 禁用鼠标键盘
  19. sap客户信贷_FD32维护客户信贷数据
  20. SQL Server Management Studio

热门文章

  1. WinCE程序的几种开发方法
  2. C#开发微信公众平台-就这么简单(附Demo)
  3. netty SimpleChannelInboundHandler类继承使用
  4. Cisco路由器全局、接口、协议调试指南
  5. [C++]MySQL数据库操作实例
  6. OOB与COM交互读写本地文件
  7. 3.5.2 冒泡排序类
  8. Android应用开发—LayoutParams的用法
  9. 网络爬虫--23.动态网页数据抓取
  10. gpgga格式读取MATLAB,GPS编码格式及读取.doc