我正在研究ssis包中的數據流任務,並且我已經多次遇到這個問題。這裏有一個簡單的例子...假設我有一個OLE數據庫源,一個腳本組件作爲轉換,以及一個OLE數據庫目標。ssis數據流正在設置數據類型
這是我的DB源查詢(假設strValue的是MYTABLE varchar數據類型)
select strValue
from mytable
where isnumeric(strValue) = 1
然後,我有一個腳本組件作爲轉換。 strValue是一個輸入值。編輯腳本組件時,在「輸入和輸出」下,我展開輸入變量,直到可以單擊strValue。在「通用屬性」下,它表示數據類型是DT_I4(這是一個我相信的整數,但我從來沒有告訴過它)。
我決定改變我的DB源查詢刪除where子句所以它現在是
select strValue
from mytable
現在我要評估是否strValue的是在腳本組件,而不是數字。但是,當我嘗試運行它時,它在到達轉換之前失敗,因爲strValue並不總是一個整數。我想辦法解決這個問題的唯一方法是刪除原始的OLE數據庫源和腳本組件轉換,然後創建新的。
是否有一種簡單的方法將列strValue映射爲字符串,而不是ole db源中的整數? (因爲我從來沒有真正把它作爲第一位的整數!)