【问题标题】:Import XML with multiple Tables to SQL Server将具有多个表的 XML 导入 SQL Server
【发布时间】:2014-02-05 03:01:45
【问题描述】:

我获得了包含多个表的 XML 以导入到 SQL Server 去做这个, 我按照以下步骤操作:

  • 将数据流任务添加到控制流选项卡。

在数据流选项卡上(双击数据流任务时):

  • 添加 XML 源,配置 XML 位置和 XSD 位置。

  • 添加 Ado.net 目标,将源连接到目标,将显示输入输出选择,选择要导入 SQL 的表。

  • 配置连接管理器。在用户表或视图下,单击 “新建”按钮生成新表到xml表所在的数据库 值将被插入。

  • 执行包。新表已添加到我的数据库中,其中包含一些值。

我的目标是将表导入我的数据库,我的问题是我的 xml 架构中有很多表,重复执行步骤 2-5 需要时间。有没有办法解决这个问题。

注意:我的 SQL 服务器上没有现成的表,这就是为什么我为我的数据库生成与 XML 模式匹配的新表的原因。 (第 3 步)。

【问题讨论】:

  • 您的架构是否经常更改,或者表创建只是开发的一种懒惰的速记?
  • 它只是一个懒惰的开发简写,它有数百个表,这就是原因。如果我为我的模式创建表,那将需要很长时间。有没有办法至少节省时间?

标签: xml ssis ado.net sql-server-2012 dataflowtask


【解决方案1】:

您描述的方法是我所知道的完成此任务的最快/最简单的方法。

如果你从望远镜的另一端看它,你是:

  • 将非常复杂的 XML 模式分解为单独的 SQL 表
  • 生成与 XML 结构完美匹配的表,包括外键关系
  • 用数据加载表
  • 构建可重复的流程
  • 每张桌子可能需要不到一分钟的时间
  • 无需输入任何内容
  • 使用标准化工具最大限度地减少您的测试工作

点击愉快...

【讨论】:

    【解决方案2】:

    SQL Server 支持xml 数据类型。考虑将您的 XML 数据作为 XML 数据存储。

    SQL Server 允许您使用 XQuery 查询 XML 数据。它甚至支持基于 XML 的索引,并允许限制 XML 数据针对一组特定的 XML 模式进行验证。

    【讨论】:

      猜你喜欢
      • 2018-05-06
      • 1970-01-01
      • 2013-03-16
      • 2013-05-26
      • 2023-03-16
      • 1970-01-01
      • 2011-05-29
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多