在少于2016年的SQL Server版本中,将大量JSON数据从文件加载到数据库表的标准方法是什么?
我知道SQL Server 2016中引入的yield
函数。但是,我只能使用SQL Server 2014.
执行此操作的首选方法是使用SQL Server Integration Services(SSIS)导入数据,但不存在内置连接器或源组件。
为此,我尝试使用SSIS JSON Component。显然,从性能的角度来看,它并不好。
还有其他方法可以将JSON批量加载到SQL中吗?
答案 0 :(得分:2)
我在 SSIS 2012 / SQL Server 2012 中完成了此操作。要求是使用返回json
的各种端点的RESTful API。
在脚本组件的CreateNewOutputRows()
覆盖方法中,将JSON数据反序列化为C#类。我使用http://json2csharp.com/来存根类,然后在特殊情况下需要时修复它,比如json有key的ID值,而不是keyname等。我使用 Newtonsoft.Json 将json反序列化为类实例/列表等。将行添加到您在步骤2 中设置的相关输出缓冲区。
将 Scripting Component 中的输出连接到各种目标表。
就是这样!你完成了。