【问题标题】:SSIS and JSON Flat FilesSSIS 和 JSON 平面文件
【发布时间】:2018-02-15 17:07:01
【问题描述】:

使用 SSIS 将 JSON 平面文件导入 SQL Server 的最佳方法是什么?

目前我已经尝试在脚本组件中解析数据,但是我正在解析大量 JSON 文件(一次大约 120 个),需要 15 分钟以上才能获取数据。我也不认为这非常实用。

有没有办法在 SQL Server 中结合 SSIS 和 OPENJSON 命令的功能?我正在运行 SQL Server 2016,所以我试图利用该命令,希望它运行得更快。

另外,我可以在不丢失格式的情况下获取 JSON 数据。 看起来像这样:

我有没有办法利用它并将 JSON 格式转换为更加规范化的格式。

【问题讨论】:

  • 我一直都是用C#做的,序列化成一个类。
  • 你在使用 SSIS 吗?如果是这样,您是使用脚本组件作为源还是转换?
  • 我会使用脚本组件作为源。然后根据 JSON 的复杂性将每个子类推送到它自己的数据流中
  • 完美!你碰巧有任何链接或例子吗?如果您可以在下面发布,我会将其标记为答案。
  • 我作弊并使用 ZappySys SSIS PowerPack,它具有 JSON 任务来解析文件/api 响应、转换 JSON 数据、写入 JSON 文件以及将解析的 JSON 转换为记录集。

标签: json sql-server ssis flat-file


【解决方案1】:

这个人有一个拆分列中的 JSON 字符串的示例,这将是一个很好的简单基础。

SSIS Data flow task runs by itself but not as part of package

如果你有子类,你会想要一个类引用一个类。有点像订单类引用订单项类。

在该示例中,您将在 foreach 订单上有一个 DF,并且在其中有一个包含订单 ID 的 foreach 订单项。

我有一个很好的 Survey Monkey 示例,但我现在找不到。

我实际上并没有在该示例中使用数据流,而是直接从 C# 加载。

这是我上面引用的调查猴类结构:

Trouble using all members in a class. Why can I only use the list?

祝你好运。

【讨论】:

    【解决方案2】:

    其实想通了。 我一次将文件放入一个文件中,所有 JSON 文本都在一行中。 从那里我可以在 SQL Server 2016 中使用 OPENJSON 命令。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2019-12-13
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2014-10-16
      • 1970-01-01
      相关资源
      最近更新 更多