Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/sql/78.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/2/ssis/2.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/security/4.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 查询以使用变量筛选ODBC源SSI中的数据_Sql_Ssis_Ssis 2012 - Fatal编程技术网

Sql 查询以使用变量筛选ODBC源SSI中的数据

Sql 查询以使用变量筛选ODBC源SSI中的数据,sql,ssis,ssis-2012,Sql,Ssis,Ssis 2012,我正在ODBC source中编写源查询,以过滤列nvarchar上的记录,从而拉动增量加载 在SouceCodeExpression中,我编写了以下代码 选择*自Source_AuthorizationHistory,其中UpdateDate>+'@[User::LastUpdate]' 这里UpdateDate是来自源代码的nvarchar数据类型,我必须根据目标代码中最后更新的日期过滤源代码中的记录。因此,这里@[User::LastUpdate]变量数据类型是String @[用户::上

我正在ODBC source中编写源查询,以过滤列nvarchar上的记录,从而拉动增量加载

在SouceCodeExpression中,我编写了以下代码

选择*自Source_AuthorizationHistory,其中UpdateDate>+'@[User::LastUpdate]'

这里UpdateDate是来自源代码的nvarchar数据类型,我必须根据目标代码中最后更新的日期过滤源代码中的记录。因此,这里@[User::LastUpdate]变量数据类型是String

@[用户::上次更新]= 从目标授权历史记录中选择Convertnvarchar、CastMaxETL_updated-1作为上次更新的日期

请帮助我编写此源查询表达式

选择*自Source_AuthorizationHistory,其中UpdateDate>+'@[User::LastUpdate]'

假设您的@[User::LastUpdate]值正确,我得到了以下错误

你有这个:

"Select * from Source_AuthorizationHistory where UpdateDate >" + "'@[User::LastUpdate]'"
您需要这样做:

"Select * from Source_AuthorizationHistory where UpdateDate > (" +  @[User::LastUpdate] + ")"
由于该表达式将等同于:

Select * from Source_AuthorizationHistory where UpdateDate > (Select Convert(nvarchar,Cast((Max(ETL_updated)-1) as Date)) as LastUpdated from Target_AUTHORIZATIONHISTORY)

你的报价放错地方了。您应该不厌其烦地在表达式编辑器中按“evaluate”,您会发现这不会导致有效的查询。是。。我通过计算..[SQLCODE:>:常量、聚合、$$、:、+、-、%ALPHAUP、%EXACT、%SQLSTRING、>%SQLUPPER、%STRING或%UPPER>]进行了更正。[缓存错误:]>[详细信息:][%msg:以以下任一项开头:标识符、常数、聚合、$$、:、+、-、>%ALPHAUP、%EXACT、%SQLSTRING,当您在SSMS中运行此查询时,它是否返回任何数据?从源授权历史中选择*,其中UpdateDate>选择Convertnvarchar,CastMaxETL\u updated-1作为从目标授权中最新更新的日期事实上,它们是两个独立的数据库。一个在ODBC连接中,一个在SSMS中。因此,我无法运行此查询。那么您如何在SSIS中使用此查询?我实际声明了变量@[User::LastUpdate]虽然它会保存此查询的结果,但选择Convertnvarchar,CastMaxETL_updated-1作为日期,即2016-02-25。简单地说,我假设@[User::LastUpdate]=2016-02-25