Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/sql-server/27.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/xml/12.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Sql server 大型xml数据的逻辑应用程序和存储过程_Sql Server_Xml_Large Data_Large Files_Azure Logic Apps - Fatal编程技术网

Sql server 大型xml数据的逻辑应用程序和存储过程

Sql server 大型xml数据的逻辑应用程序和存储过程,sql-server,xml,large-data,large-files,azure-logic-apps,Sql Server,Xml,Large Data,Large Files,Azure Logic Apps,我试图通过Azure中的逻辑应用解决一个较小的集成问题 我有一个存储过程,它从数据库中选择数据并输出XML作为结果 问题是Xml结果大约有5万行,而且相当大。 我建立了本地网关连接,通过逻辑应用程序运行存储过程。但是当我得到结果时,它不仅分割了大的xml,而且在大约15k行之后剪切了整个结果 我知道我可以使用blob,这意味着我需要首先将sqlxml导出到文件中,这也意味着我需要将BCP与类似powershell的东西一起使用,以最佳方式将xml导出到文件中。但是,我正在尝试跳过大部分内部步骤。

我试图通过Azure中的逻辑应用解决一个较小的集成问题

我有一个存储过程,它从数据库中选择数据并输出XML作为结果

问题是Xml结果大约有5万行,而且相当大。 我建立了本地网关连接,通过逻辑应用程序运行存储过程。但是当我得到结果时,它不仅分割了大的xml,而且在大约15k行之后剪切了整个结果

我知道我可以使用blob,这意味着我需要首先将sqlxml导出到文件中,这也意味着我需要将BCP与类似powershell的东西一起使用,以最佳方式将xml导出到文件中。但是,我正在尝试跳过大部分内部步骤。我希望这个解决方案尽可能基于云

有人能解决这个问题吗

好吧,那么

我把它归结为两种可能的结果来解释为什么会出现这个问题

第一个问题是,我在尝试打开XMLIMSQLServer时发出了错误的声音

“~vs8D51.xml”太大,无法用xml编辑器打开。最大文件大小为“10”MB。请更新注册表项“HKCU\Software\Microsoft\SQL Server Management Studio\13.0\u Config\XmlEditor\MaxFileSizeSupportedByLanguageService”以更改最大大小

这让我觉得Azure Logic apps中的存储过程无法获取大于10mb的结果,因为sql server中存在限制

我曾尝试在regedit中更改它,但每次重新启动sql server manager时,它都会重置为10mb

我不知道这是否是对问题的正确评估,但这是一个想法

其次,一位同事告诉我,他对FTP文件也有类似的问题。 他说,逻辑应用程序以某种奇怪的方式无法获取所有数据,因为在后台发生了某种超时

他必须将文件内容分成几部分,以某种方式通过logic应用程序的工作流进行传输,然后重新创建整个内容,并将其保存到集成另一端的文件中

这让我想到尝试一下:

它能工作,但不是我想要的那样。我可以将数据流化并保存到blob,但这是表本身的结果,而不是同一数据的整个XML的分割部分


有人知道一种方法可以迭代/分页整个XML以一种好的方式生成SQL,包括根标记和所有标记吗

在SSMS 18中,为了保持
MaxFileSizeSupportedByLanguageService
值,我需要在
C:\Program Files(x86)\Microsoft SQL Server Management Studio 18\Common7\IDE\CommonExtensions\Platform\Shell\Microsoft.XmlEditor.pkgdef
文件中编辑该键的值