如何从Azure SQL数据库中的Blob解析Json

如何从Azure SQL数据库中的Blob解析Json,json,sql-server,azure,blob,openrowset,Json,Sql Server,Azure,Blob,Openrowset,我不确定最有效的方法是什么,我应该使用openrowset将文件读取到表中的单个varcharmax列并跨appy OPENJSON(如下所示),还是有更有效的方法 从中选择* OPENROWSET。。。。。 交叉应用OPENJSON j.Blobdata 具有 source\u object varchar200'$.source\u object.Number', 日期日期时间“$.Order.Date”, 客户varchar200'$.AccountNumber', 数量int“$.Ite

我不确定最有效的方法是什么,我应该使用openrowset将文件读取到表中的单个varcharmax列并跨appy OPENJSON(如下所示),还是有更有效的方法

从中选择* OPENROWSET。。。。。 交叉应用OPENJSON j.Blobdata 具有 source\u object varchar200'$.source\u object.Number', 日期日期时间“$.Order.Date”, 客户varchar200'$.AccountNumber', 数量int“$.Item.Quantity”
我们可以使用T-SQL批量插入命令或OPENROWSET函数从Azure Blob存储直接将文件加载到Azure SQL数据库中

我们不能说哪种方法是最有效的,两者都足够有效。它们都是官方文件推荐的。只要选择你最喜欢的方式

有关更多详细信息,请参考以下内容:


HTH.

听起来效率很高,除非您想用某种客户端语言C或Powershell等。我假设您使用的是OPENROWSET…SINGLE_NCLOBHi@Gokhan,我们不能说哪种方法是最有效的,两者都足够有效。它们都是官方文件推荐的。只要选择你最喜欢的方式。如果我的回答对你有帮助,你可以接受它作为答案。这可能对其他社区成员有益。谢谢。如果要导入1000个json文件,唯一的方法就是调用OPENROWSET或批量插入1000次?文件不一定都在同一个文件夹中,或者文件夹中的所有文件都包含在内,因此不会使用通配符*work@Gokhan你没说你有这么多json文件。那是另一个问题。如果两个json文件具有相同的模式,我们需要使用其他方法。假设我们的1000个json文件每个包含一条记录,或者在某些情况下最多包含100条记录,调用openrowset 1000次似乎不能有效地检查每个文件对blob等的文件访问,并添加delayHi@Gokhan,我可以理解。但您当前的问题是,哪种方法是将JSON文件加载到Azure SQL数据库中最有效的方法,而不是将多个文件加载到Azure SQL数据库中。这些文件可能有不同的记录,实际上它们是不同的问题。我建议您修改您的问题或发布新问题。非常感谢。根据我的经验,如果我们有这么多可能的文件,并希望将它们加载到Azure SQL,我们需要其他ETL工具,如Data Factory。@Gokhan您还有其他问题吗?