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

时间:2015-04-01 22:08:04

标签: xml ssis

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

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

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

我怀疑我的设置不正确,但我是SSIS的新手,我不确定在哪里看。谢谢你的帮助。

3 个答案:

答案 0 :(得分:0)

我按照Visual Studio 2008中前一个答案的说明操作,但我无法重现您收到的错误。以下是一些尝试:

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

    XML Source properties

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

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

答案 1 :(得分:0)

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

答案 2 :(得分:0)

DelayValidation 属性从 False 设置为 True 后,我能够为XML文件解决此问题。