将批量 JSON 数据加载到 SQL 服务器 table

Load bulk JSON data into SQL Server table

在低于 2016 的 SQL 服务器版本中,将大量 JSON 数据从文件加载到数据库 table 的标准方法是什么?

我知道 SQL Server 2016 中引入的 OPENJSON() 功能。但是,我只能使用 SQL Server 2014。

执行此操作的首选方法是使用 SQL 服务器集成服务 (SSIS) 导入数据,但没有内置连接器或源组件。

我尝试使用 SSIS JSON Component 来达到这个目的。显然,从性能的角度来看,这并不好。

是否有任何其他方式将 JSON 批量加载到 SQL 中?

我在 SSIS 2012 / SQL Server 2012 中完成了此操作。要求是使用 RESTful API 和返回 json 的各种端点。

  1. 在您的数据流中,创建一个脚本组件。它很可能是 Type = Source 因为您将从中生成 OutPutsOutput Columns .

  1. 为将从 JSON 中提取的各种字段/数据项创建各种 OutPuts 和 OutPut 列。通常这是如下所示的几个表。

  1. 脚本组件CreateNewOutputRows()覆盖方法中,将JSON数据反序列化为C#classes .我使用 http://json2csharp.com/ 存根 classes,然后在特殊情况下根据需要修复它,例如 json 具有键的 ID 值,而不是键名等。我使用 Newtonsoft.Json 将 json 反序列化为 class 实例/列表等。将行添加到您在 [=27= 中设置的相关输出缓冲区]步骤 2。

  2. 输出脚本组件连接到各种目标表。

就是这样!你完成了。