Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/xslt/3.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 2012 CU7导致SSIS XML任务-XSLT将输出转换为变量错误_Xml_Xslt_Ssis_Sql Server 2012 - Fatal编程技术网

SQL Server 2012 CU7导致SSIS XML任务-XSLT将输出转换为变量错误

SQL Server 2012 CU7导致SSIS XML任务-XSLT将输出转换为变量错误,xml,xslt,ssis,sql-server-2012,Xml,Xslt,Ssis,Sql Server 2012,我目前有一个SSIS包,它执行一个webservice调用,将xml返回到一个变量。然后,XML任务对XML执行XSLT转换,并继续执行数据流任务。这在安装SQL Server 2012 CU7之前就已生效。现在,每当执行包时,都会在XSLT转换上显示错误,并在sysssislog中显示此错误: 出现以下错误消息时出错:“无法访问关闭的流。” 如果XML任务的输出被更改为文件,它将成功执行 查看CU7中的更新,我发现。在我看来,他们似乎纠正了一个我没有遇到的问题,并导致了另一个问题。我还应该提到

我目前有一个SSIS包,它执行一个webservice调用,将xml返回到一个变量。然后,XML任务对XML执行XSLT转换,并继续执行数据流任务。这在安装SQL Server 2012 CU7之前就已生效。现在,每当执行包时,都会在XSLT转换上显示错误,并在sysssislog中显示此错误:

出现以下错误消息时出错:“无法访问关闭的流。”

如果XML任务的输出被更改为文件,它将成功执行

查看CU7中的更新,我发现。在我看来,他们似乎纠正了一个我没有遇到的问题,并导致了另一个问题。我还应该提到,该包在SQL Server数据工具中的本地计算机上成功执行。为了测试,我安装了CU7,因为我在CU6上,现在我在本地机器上也收到了相同的错误

还有其他人有这个问题吗?或者,除了将包更改为输出到文件之外,是否有人找到了解决方法或热修复程序?我在这两个方面都不成功,我不希望先将数据输出到文件或回滚CU7


**更新。我在本地计算机上回滚了CU7,程序包再次成功执行。

我最终打开了Microsoft的支持票证。其结果发现,在执行XSLT转换并将输出存储到变量时,SQL Server 2012 SP2的CU7中存在XML任务错误。在发布补丁/修补程序/CU8之前,他们建议了两种解决方法

  • 将XML任务的输出选项更改为转到文件连接,而不是变量
  • 在将执行SSIS包的生产服务器上回滚CU7
  • 一旦他们用补丁/修补程序/CU8回复我,我会更新或评论这个答案

    更新:我与MS确认修复程序不在CU8中。一旦他们告诉我它最终会出现什么hotfix/CU/SP,我会再次更新

    更新2:当SP3发布时,我与MS确认该修复不包括在内。到目前为止,唯一真正的反馈是他们确认这是一个bug,并且它在他们的项目列表中。没有埃塔。我已经厌倦了等待修复,因为它阻碍了我们修补其中一台服务器的能力,并最终编写了一个c#script任务来执行xml转换。或者,您仍然可以使用XML任务并将输出设置为文件。这确实有效。只有当您将输出设置为变量时,它才会出错

    最终更新:我还没有亲自确认这一点,但看起来微软已经在以下SP/CUs中修复了这一点:

    • SQL Server 2012 SP3 CU5
    • SQL Server 2014 CU13
    • SQL Server 2014 SP1 CU9
    • SQL Server 2014 SP2 CU3
    • SQL Server 2014 SP3 CU5
    • SQL Server 2016 CU4
    • SQL Server 2016 SP1 CU2

    我也遇到过同样的问题。但是,在与Microsoft合作后,我们发现这个问题可以通过使用CU5升级到SQL Server 2012 SP3来解决


    在这种情况下,我会联系MS支持部门。你有一个工作的东西,你安装了一个CU,现在它坏了。他们需要知道它已经损坏,可能会为您提供一个补丁来解决这种情况,直到CU8面世。值得一提的是,SQL Server 2012 SP1 CU8今天面世。是kismet@比林克你在哪里看到这个CU8?你是指SQLSP2而不是SP1吗?我唯一能找到的是CU7,微软仍然将CU7列为其网站上SQL Server 2012 SP2的最新CU。谢谢很抱歉,我误读了发行说明(私人MS分发列表)。昨天发布了两个版本,但都是2014年发布的。很抱歉让你失望了别担心。事实上,我已经和女士开了一张支持票。一旦我得到一个解决方案,我也会更新这篇文章。修复程序似乎也不在SP3中。