Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/sql-server/27.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/solr/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Sql server 如何将变量传递给SSIS中ODBC源的sql查询?_Sql Server_Ssis - Fatal编程技术网

Sql server 如何将变量传递给SSIS中ODBC源的sql查询?

Sql server 如何将变量传递给SSIS中ODBC源的sql查询?,sql-server,ssis,Sql Server,Ssis,我在SSIS的数据流任务中使用ODBC源代码。我只想从ODBC源中选择最新数据 我的问题是: 从ODBCTable中选择* 其中日期>=@[用户::日期1] 但我在解析查询时出错 另一种方法是什么?如何传递变量以及如何创建有效变量以传递只能提供当前最新日期数据的查询 提前谢谢 您可以通过这种方式创建一个变量查询 然后使用参数在那里形成查询。 然后转到数据流属性,在表达式中选择ODBC source.sqlcoomand并在此处传递该变量 在第一次运行时,将使用expressionsql命令替

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

我的问题是:

从ODBCTable中选择* 其中日期>=@[用户::日期1]

但我在解析查询时出错

另一种方法是什么?如何传递变量以及如何创建有效变量以传递只能提供当前最新日期数据的查询


提前谢谢

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

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

在第一次运行时,将使用expressionsql命令替换源查询。
谢谢在SQL命令文本中,首先声明变量,然后编写SQL语句:

declare @user_date1 date = cast(? as date)

Select * from ODBCTable where date >= @user_date1

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

我已经定义了变量,但如何使用?代替@[user::date1],如何映射这些。如果变量是define,那么使用
where date>=?
一样,但我的变量名是date1,那么我如何将date1映射到?。在您定义变量的地方,该变量中有一个映射选项卡,用于映射变量和where子句变量,并在等号后面加问号。可能重复的