如何在SSIS中将变量传递给ODBC Source的sql查询?

时间:2015-12-30 11:14:08

标签: sql-server ssis

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

这是我的问题:

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

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

这有什么替代方法?我如何传递变量以及如何创建有效变量来传递可以仅提供最新今日日期数据的查询。

感谢高级。

3 个答案:

答案 0 :(得分:1)

@Jack,如果您正在使用execute sql任务组件,请尝试使用以下方式将内联sql切换为存储过程,输入变量为user :: date1的值:1。在执行SQL中的SQLStatement下任务编辑器类型EXEC [schema] .NewStoredProcName? (2)在参数映射下,选择User :: date1作为变量名称,选择输入作为方向,在数据类型下使用的日期数据类型,将参数名称设置为0

答案 1 :(得分:1)

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

enter image description here

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

首次运行时,将使用表达式sql命令替换源查询。 感谢

答案 2 :(得分:1)

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

self.titleButton.setTitle(self.playlistItem!.title, for: UIControlState())

然后单击Parameters按钮将SSIS参数值映射到sql变量。映射按SQL命令中的外观顺序完成 - 而不是按名称。