【问题标题】:How to pass variable to sql query of ODBC Source in SSIS?如何将变量传递给 SSIS 中 ODBC 源的 sql 查询?
【发布时间】:2015-12-30 11:14:07
【问题描述】:

我在 SSIS 的数据流任务中使用 ODBC 源。我只想从 ODBC 源中选择最新数据,

这是我的查询:

从 ODBCTable 中选择 * 其中日期 >= @[user::date1]

但我在解析查询时遇到错误。

这是什么替代方法?我如何传递变量以及如何创建有效变量来传递只能给我今天最新日期数据的查询。

感谢高级版。

【问题讨论】:

  • 我已经定义了变量,但我该如何使用? @[user::date1] 的 insted,如何映射这些。
  • 如果变量被定义然后使用?就像where date >= ?
  • 但是我的变量名是date1,那么我如何将date1映射到?.
  • 定义变量的地方有一个映射选项卡,用于映射变量和 where 子句变量,并在等号后放置问号
  • SSIS ODBC SQL parameters的可能重复

标签: sql-server ssis


【解决方案1】:

在 SQL 命令文本中,首先声明您的变量,然后编写您的 sql 语句:

declare @user_date1 date = cast(? as date)

Select * from ODBCTable where date >= @user_date1

然后单击“参数”按钮将 SSIS 参数值映射到您的 sql 变量。映射是按 SQL 命令中出现的顺序完成的 - 不是按名称。

【讨论】:

    【解决方案2】:

    您可以通过这种方式创建一个变量查询 然后使用参数在那里形成您的查询。

    然后转到数据流属性,在表达式中选择 ODBC source.sqlcoomand 并在此处传递该变量。

    在第一次运行时,将用表达式 sql 命令替换源查询。 谢谢

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2019-02-16
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2019-11-03
      • 1970-01-01
      相关资源
      最近更新 更多