【问题标题】:The connection "C:\\<path>\\*.txt" is not found. This error is thrown by Connections collection when the specific conn element is not found未找到连接“C:\\<path>\\*.txt”。当未找到特定的 conn 元素时,Connections 集合会引发此错误
【发布时间】:2017-08-03 00:46:43
【问题描述】:

我开发了一个创建多个 .txt 文件的 SSIS 包。这些文件被压缩,然后需要删除 .txt 文件。使用 foreach 文件枚举器,我遍历特定文件夹的所有 .txt 文件。该文件夹是从配置中的变量中检索的,类似于:C:\Folder\

foreach 循环使用:*.txt 收集所有 .txt 文件,不遍历子文件夹并使用完整的限定名称。

在变量映射中,“FileName”变量填充了 0 索引。 在 foreachloop 中,我使用了一个文件系统任务。 此任务使用循环中填充的 FileName 变量删除之前生成的 .txt 文件。

在开发机器上运行起来就像一个魅力。都是绿色的,一点问题都没有。现在我将包和配置文件复制到测试环境中。没有删除文件的基本版本在这里运行得很好。我更换了包裹。没什么大不了的。

现在我运行 SQl 服务器代理作业,它开始运行。我可以看到所有文本文件在创建 zipfile 后出现和消失。但是,当所有文件都被删除时,包会导致错误。即上面标题中显示的错误。

  • 我尝试查找可能已被删除的连接管理器
  • 查找配置中命名但包中不存在的连接管理器。

没有找到这样的东西。烦人的部分是该程序包功能齐全,但仍会导致错误。

编辑:我注意到如果我使用执行包实用程序和 dev.配置它给出相同的错误。

希望有人能够帮助我。 提前致谢!

【问题讨论】:

  • 如果您将 File System Task 上的 DelayValidation 属性更改为 True,并且在没有 .txt 文件的情况下运行,它仍然会失败吗?
  • 这并没有什么不同。我发现如果我使用删除操作禁用了文件系统任务,错误就会消失,并且代理作业会成功运行。文件系统任务使用在 foreach 循环中设置的变量作为源。有什么想法吗?
  • 鉴于您的分辨率(删除任务并重新添加),我想知道任务上是否没有引用无效对象的表达式。

标签: ssis


【解决方案1】:

我设法“解决”了这个问题。删除负责删除文件的文件系统组件。然后重新添加,重新配置。

【讨论】:

    【解决方案2】:

    我认为如果您在更改操作参数之前不小心更改了常规参数,就会发生这种情况。它将元数据保存到不相关的参数中,并在执行时说:“等等,你定义了这个参数,但我不需要它,但无论如何我正在检查它,它不存在!”

    这肯定是个bug

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2018-07-02
      • 1970-01-01
      • 2010-11-01
      • 2020-05-27
      • 2023-03-28
      • 1970-01-01
      • 2019-07-13
      • 2011-07-18
      相关资源
      最近更新 更多