【问题标题】:SSIS: The For Each File enumerator is emptySSIS:For Each File 枚举器为空
【发布时间】:2018-02-08 17:44:07
【问题描述】:

我创建了一个在 Visual Studio 中运行良好的包。
该包使用 for each file 循环,并且变量指向这样的文件夹:

C:\用户\桌面\文件夹\

但是,一旦我在 SSMS 上部署包,当我执行包时,我会收到以下错误:

Foreach 文件夹中的文件:警告:For Each 文件枚举器为空。 For Each File 枚举器未找到任何与 文件模式,或指定目录为空

为什么我在 SSMS 中收到此警告,但在 VS 中却运行良好?

注意:SQL Server 未托管在我的本地计算机上。

【问题讨论】:

    标签: ssis warnings ssms packages


    【解决方案1】:

    如果你使用文件夹的本地路径,像这样

    C:\用户\桌面\文件夹\

    然后,当您在 SQL Server 上运行包时,文件需要位于 SQL Server 上的 LOCAL PATH 中。

    当您在 Visual Studio 中运行它时,它会在您机器上的本地路径中查找文件。

    【讨论】:

    • 这是有道理的。那么当我在我的 SQL Server 上部署一个包时,该包的范围现在是在 SQL Server 的安装范围内吗?如果我想让我的包在其他地方运行,它需要在另一台始终运行的机器上运行包?
    • 是的,完全正确。如果您想从 SQL Server 以外的机器获取文件,则需要共享文件夹,确保 SQL 用户具有权限,并使用 UNC 路径而不是本地路径。
    • 非常感谢您对此的解释。 SSIS 一直很难学。
    • 如何让这个包从客户端机器上动态拉取?我试着查了一下,但我似乎无法得到明确的答案。
    • 使用包变量作为路径。如果您尝试过此操作并遇到错误,您应该创建一个新问题并发布您所做的以及您遇到的错误。
    猜你喜欢
    • 1970-01-01
    • 2018-10-28
    • 2016-08-06
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-04-03
    • 2014-07-22
    • 1970-01-01
    相关资源
    最近更新 更多