SSIS 从一个文件夹中读取多个 XML 个文件

SSIS Reading Multiple XML Files From a Folder

这个问题已经有一个很好的答案发布 Previous Answer,它几乎可以像宣传的那样工作,但我有一个问题。在示例中,作者创建了一个 "For Each File Enumerator" 和一个循环变量来保存 XML 文件名。此变量的值保留为空字符串。

我发现我必须在该变量中输入一个有效的初始值。如果我不这样做,我会收到此错误:验证错误。导入 XML 序列化文件:读取 XML 序列化文件时 属性 "XMLDataVariable" 为空“

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

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

我按照 Visual Studio 2008 年上一个答案的说明进行操作,但无法重现您收到的错误。这里有一些尝试:

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

  • 如果您将 User::FilePath 变量的初始值设置为空白,如果您直接执行 XML Source 组件将失败(通过右键单击数据流它在并选择“执行任务”)。如果您改为执行整个包 - 并且所有配置都正确 - 那么您应该不会收到错误。

  • 您可以尝试将 XML 源组件的“ValidateExternalMetadata”属性 设置为 False。就我而言,我不需要这样做,但如果您的软件包配置略有不同,它可能会有所帮助。

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

一旦我从 False[=15 设置了 DelayValidation 属性,我就能够为我的 XML 文件解决这个问题=] 到 True.