【问题标题】:How to fetch the Excel file path connection dynamically through a variable in the Excel Source?如何通过Excel Source中的变量动态获取Excel文件路径连接?
【发布时间】:2019-01-08 18:12:57
【问题描述】:

如何通过Excel Source中的变量动态获取Excel文件路径连接?

在我的Foreach Loop Container 中,我有具有Excel Connection String 的Excel 源代码。

我正在使用该变量来映射传入文件夹路径。我将 DelayValidation 设置为 True

文件夹路径:c:\IncomingPath\

但是,我收到一个错误

未找到连接。

我们通过提取 zip 文件来放置 excel 文件。步骤通过 SSIS 包完成。

【问题讨论】:

  • 您是否也在使用该变量在 Excel 连接字符串属性上设置源?
  • 我通过提供文件夹路径来使用 Excel 连接字符串中映射的变量。变量没有 Excel 文件

标签: sql sql-server ssis ssis-2012


【解决方案1】:

在 Foreach 循环中,确保它正在使用 Foreach 文件枚举器类型(如果尚未使用)。然后在“变量映射”页面上,将字符串变量设置为索引 0,这将保存循环每次迭代的文件名。然后转到 Excel 连接管理器,单击表达式属性旁边的省略号(突出显示连接管理器并按F4 以查看“属性”窗口)并将循环中在索引 0 处设置的相同字符串变量设置为ExcelFilePath,而不是 ConnectionString,属性的表达式。这会将 Excel 源组件设置为使用 Foreach 循环的每次迭代中的当前文件。

【讨论】:

  • 我所做的正是将变量保存在 For each 循环容器中,值为 0。然后在 Excel Connection 中;我为 ExcelFilePath 属性设置了值 = 0。我尝试保持延迟验证=真(或)假
  • 我收到错误,因为“当找不到特定的连接元素时,Connections 集合会抛出此错误。”
  • 在 ExcelFilePath 表达式中添加在 Foreach 循环的索引 0 处添加的字符串变量(不是“0”)。变量的值不需要设置。
  • 我删除了值 0。但是 Excel Connection 中没有进行变量映射。我要设置表达式还是变量映射?
  • 是的,将 Excel 连接管理器上 ExcelFilePath 属性的表达式设置为与 Foreach 循环的“变量映射”窗格中使用的变量相同的变量。
猜你喜欢
  • 2010-12-26
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2019-01-06
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多