我在ssis中有一个变量,带有查询
SELECT OBS_TYPE_ID, OBS_TYPE_NAME, OBS_UNIT_ID, IS_LEAF, PATH, LEVEL0_NAME, LEVEL1_NAME, LEVEL2_NAME, LEVEL3_NAME, LEVEL4_NAME,
LEVEL5_NAME, LEVEL6_NAME, LEVEL7_NAME, LEVEL8_NAME, LEVEL9_NAME, LEVEL10_NAME, LEVEL0_UNIT_ID, LEVEL1_UNIT_ID,
LEVEL2_UNIT_ID, LEVEL3_UNIT_ID, LEVEL4_UNIT_ID, LEVEL5_UNIT_ID, LEVEL6_UNIT_ID, LEVEL7_UNIT_ID, LEVEL8_UNIT_ID, LEVEL9_UNIT_ID,
LEVEL10_UNIT_ID, HIERARCHY_LEVEL, CREATED_DATE, CREATED_BY, LAST_UPDATED_DATE, LAST_UPDATED_BY
FROM NIKUREP.NBI_DIM_OBS_V
WHERE LAST_UPDATED_DATE >= TO_CHAR(TO_DATE( @[User::LastModifiedDate] ,'YYYY-MM-DD'),'YYYY-MM-DD')
当我的数据流任务连接到oracle执行此操作时,我得到ora-00396缺失的表达式,有人可以帮助,一直试图弄清楚这一点
答案 0 :(得分:2)
在变量选项卡上单击此变量,然后按F4
以显示属性选项卡。
将Evaluate as Expression
更改为True
,并使用以下表达式:
"SELECT OBS_TYPE_ID, OBS_TYPE_NAME, OBS_UNIT_ID, IS_LEAF, PATH, LEVEL0_NAME, LEVEL1_NAME, LEVEL2_NAME, LEVEL3_NAME, LEVEL4_NAME,
LEVEL5_NAME, LEVEL6_NAME, LEVEL7_NAME, LEVEL8_NAME, LEVEL9_NAME, LEVEL10_NAME, LEVEL0_UNIT_ID, LEVEL1_UNIT_ID,
LEVEL2_UNIT_ID, LEVEL3_UNIT_ID, LEVEL4_UNIT_ID, LEVEL5_UNIT_ID, LEVEL6_UNIT_ID, LEVEL7_UNIT_ID, LEVEL8_UNIT_ID, LEVEL9_UNIT_ID,
LEVEL10_UNIT_ID, HIERARCHY_LEVEL, CREATED_DATE, CREATED_BY, LAST_UPDATED_DATE, LAST_UPDATED_BY
FROM NIKUREP.NBI_DIM_OBS_V
WHERE LAST_UPDATED_DATE >= TO_CHAR(TO_DATE('" + @[User::LastModifiedDate] + "','YYYY-MM-DD'),'YYYY-MM-DD')"
答案 1 :(得分:1)
这可能是 @ [User :: LastModifiedDate] 表达。
确保您的参数(@ [User :: LastModifiedDate])介于单引号之间。
更改表达式或尝试此
...
WHERE LAST_UPDATED_DATE >= TO_CHAR(TO_DATE( '''' || @[User::LastModifiedDate] || '''' ,'YYYY-MM-DD'),'YYYY-MM-DD')