ForEach循环枚举器为空 - 通过VBA通过CMD执行时SSIS错误

时间:2014-07-30 19:07:55

标签: sql-server-2008 ssis access-vba ms-access-2007 ssis-2008

我目前正致力于通过VBA(Access)通过CMD触发的SSIS包。该软件包所做的就是从文件夹中读取一堆文件并将它们上传到SQL Server中的表中。棘手的部分是这个包来读取文件的文件夹位置是动态的。对STACKOVERFLOW有所了解,我找到了一种让它变得动态的方法,并且从MS VS2008执行时该软件包运行良好。

FUN PART:作为完成链条的最后一个链接,我在cmd中使用了以下内容

dtexec \f "C:\Desktop\SSISAppend.dtsx" /Set "\Package.Variables[User::Directory].Property[Value];C:\Desktop\AppendFiles"

抛出错误: 代码:0x8001C004 描述:For Each File Enumerator为空。 For Each File枚举器未找到任何文件模式的文件,或指定的目录为空。

我使用了以下变量: ForEachfile枚举器中COLLECTION>> EXPRESSIONS中针对DIRECTORY的“目录”, 变量映射中的“FilePath”(带索引0)

当通过MS VS2008执行时,程序包运行良好,并且在变量DIRECTORY中提到了watever位置。

感谢所有帮助,如果您需要更多信息,请告诉我。

1 个答案:

答案 0 :(得分:-1)

与@Joost关于通过Access / CMD的权限的评论一样思考。

也许你可以在启动CMD时尝试使用RUNAS。

使用RUNAS命令 http://technet.microsoft.com/en-us/library/cc771525.aspx  :