2017-07-14 73 views
2

我在SSIS一個變量,以查詢ORA-00936缺少表達-select語句

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缺少表達

,能有人請幫忙,一直想弄明白這個爲期1周

回答

1

這可能是@ [User :: LastModifiedDate]表達式。

確保您的參數(@ [User :: LastModifiedDate])位於單引號之間。

改變你的表達或試試這個

...

WHERE LAST_UPDATED_DATE >= TO_CHAR(TO_DATE('''' || @[User::LastModifiedDate] || '''' ,'YYYY-MM-DD'),'YYYY-MM-DD') 
+0

此@的輸出[用戶:: LastModifiedDate]會像「1960年1月1日」,因此添加單引號參數的日期將使它成爲''1960-01-01'',同樣你的查詢也給我提供了同樣的錯誤信息 – sab

+0

這個查詢的結果是什麼?你可以把它寫在某處或看到它:「select @ [User :: LastModifiedDate] from ...」@ user3132672 –

+0

輸出將是'1960-01-01'或最大日期'2017-06-17' – sab

2

在這一變量中的變量選項卡上單擊,然後按下F4顯示屬性選項卡。

變化Evaluate as ExpressionTrue,並使用下面的表達式:

"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

你必須添加單引號'TO_DATE('「+ @ [User :: LastModifiedDate] +'',' – Yahfoufi

+0

您的查詢已解決問題,並且我能夠預覽數據流任務,但是當我執行我的ssis pacakge ,我得到「說明:」ORA-00907:缺少右括號錯誤「,我不認爲有任何缺失,缺少任何幫助? – sab

+0

嘗試將數據流任務'Delay Validation'屬性更改爲'True' – Hadi