【发布时间】:2014-09-22 13:48:34
【问题描述】:
我目前正在开发一个通过 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 枚举器为空。 For Each File 枚举器没有找到任何符合文件模式的文件,或者指定的目录为空。
我使用了以下变量: 在 ForEachfile 枚举器中针对 COLLECTION>>EXPRESSIONS 中的 DIRECTORY 的“目录”, 变量映射中的“FilePath”(索引为 0)
当通过 MS VS2008 执行时,包运行良好,并且在变量 DIRECTORY 中提到了水位置。
感谢所有帮助,如果您需要更多信息,请告诉我。
【问题讨论】:
-
运行包的用户对该文件夹是否有足够的权限?
-
是的,用户拥有对该文件夹的读/写权限,事实上,当直接从 SSIS (MS VS) 执行时,包运行良好,但尝试从 CMD 执行时会出现问题
标签: sql-server vba ms-access ssis ssis-2008