Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/ssis/2.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
SSI从文件夹中读取多个XML文件_Xml_Ssis - Fatal编程技术网

SSI从文件夹中读取多个XML文件

SSI从文件夹中读取多个XML文件,xml,ssis,Xml,Ssis,这个问题已经有了一个很好的答案,它几乎和广告上的一样有效,但我有一个问题。在本例中,作者创建了一个“For Each File Enumerator”和一个循环变量来保存XML文件名。此变量的值保留为空字符串 我发现我必须在这个变量中输入一个有效的初始值。如果我没有,我会得到这个错误:验证错误。导入XML序列化文件:读取的XML序列化文件上的属性“XMLDataVariable”为空“ 如果我输入了有效的初始值,则包将正确执行。这是多余的,但是如果我在不更改初始值的情况下将一组新的XML文件放入

这个问题已经有了一个很好的答案,它几乎和广告上的一样有效,但我有一个问题。在本例中,作者创建了一个“For Each File Enumerator”和一个循环变量来保存XML文件名。此变量的值保留为空字符串

我发现我必须在这个变量中输入一个有效的初始值。如果我没有,我会得到这个错误:验证错误。导入XML序列化文件:读取的XML序列化文件上的属性“XMLDataVariable”为空“

如果我输入了有效的初始值,则包将正确执行。这是多余的,但是如果我在不更改初始值的情况下将一组新的XML文件放入要导入的文件夹中,则在执行包时会出现以下错误:包验证错误。未找到指定我的特定文件的文件文本。请验证路径,然后重试


我怀疑我的某些设置不正确,但我是SSIS新手,不知道该去哪里查找。感谢您的帮助。

我按照Visual Studio 2008中上一个答案中的说明进行了操作,无法重现您收到的错误。以下是一些可以尝试的内容:

  • 打开XML源组件属性,确保XMLDataVariable指向User::FilePath变量:

  • 如果将User::FilePath变量的初始值设置为空,则如果直接执行XML源组件(通过右键单击其所在的数据流并选择“执行任务”),则XML源组件将失败。如果改为执行整个包,并且所有内容都配置正确,则不应出现错误

  • 您可以尝试将XML源组件的“ValidateExternalMetadata”属性设置为False。在我的情况下,我不需要这样做,但如果您的包配置稍有不同,可能会有所帮助


将XML源的DelayValidation属性设置为True,这应该可以解决您的问题

一旦我将DelayValidation属性从False设置为True,我就能够解决我的XML文件的这个问题了。我需要学习开始在Visual Studio环境中查找明显的问题!谢谢。这个答案中的想法是正确的。XML源任务的正确字段是“ValidateExternalMetadata”。如果没有Bert的答案,它肯定会引导我找到解决方案。谢谢。