【问题标题】:OLEDB Source with query parameter fails on 2nd iteration具有查询参数的 OLEDB 源在第二次迭代中失败
【发布时间】:2021-04-23 18:54:37
【问题描述】:

我有一个带有 OLEDB 数据流任务的 SSIS pkg,它位于一个 foreach 中。 OLEDB 源使用了一个查询,我试图将其与从变量中获取其值的参数一起使用。
变量值在流程中较早更改。第一次执行,它工作正常,但在第二次迭代时,我得到一个错误

语法错误、权限违规或其他非特定错误”

声明是SET @MyVar = ? 该变量在 Source 的最终选择语句中使用

同样,它适用于一次迭代,但不适用于第二次(调试器)。 如果我硬编码这个值,它每次都有效

【问题讨论】:

  • 第一次迭代中?的值是多少,第二次迭代是多少
  • 调试的时候看变量,1再2,变量是Int类型

标签: ssis


【解决方案1】:

我认为错误出在其他地方,或者您的问题定义缺少某些内容。

我定义了一个 Foreach Item 枚举器,它使用值 1 和 2 进行循环。

我创建了一个 OLE 源查询,它被参数化以提取当前值。

循环 1

循环 2

【讨论】:

  • 我认为您是正确的,但我找到了解决方法。在源和目标之间使用派生列,并使用变量填充我需要的字段。问题解决了。奇怪为什么它以另一种方式工作得很好,但只有第一次迭代。
猜你喜欢
  • 2021-12-14
  • 1970-01-01
  • 1970-01-01
  • 2023-04-02
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多