我有一個SSIS包,它從數據庫表中獲取數據並將其輸出到csv文件中。在這個過程中的某個時刻,有一個執行SQL任務來檢索文件名(一個類型和一個序列號,然後用它來創建文件名,例如CAR,12會使C0000012.csv。我需要能夠要做到這一點,以避免在包運行時表中沒有汽車的情況下出現錯誤SSIS執行SQL任務輸出變量
爲此,我做了一個sql包,它將檢查計數, 。然後要麼返回「car」和是否有數據或「NUL」和0,如果心不是序列號我有被映射作爲輸出參數的兩個變量:
NAME | Direction| Type | Name | Size
User::DownloadFileType | Output | String | TYPE | 3
User::DownloadFileNum | Output | int32 | SEQN | 8
當運行包我保持得到錯誤:
The type of the value being assigned to variable "User::DownloadFileType" differs from the current variable type.
我已經在線尋找幫助,似乎有一個問題,試圖將VARCHAR(MAX)加載到SSIS字符串值中,我的數據庫字符串的類型爲VARCHAR2(PL SQL),但我設置了最大尺寸爲3整個包裝,仍然沒有運氣。
我認爲這個問題可能是因爲它是VARCHAR2類型,但我不確定如何使它與SSIS兼容。任何幫助你可以提供將不勝感激。
謝謝你,史蒂夫
我沒有分配一個NULL值,我被分配「NUL」爲標誌的字符串。 .. –
我認爲這是您的文章中的錯字,您提到的錯誤是由於上述提及的原因 –
在您的select語句中將類型varchar2的返回字符串值轉換爲varchar(3),例如。選擇cast('CAR'as varchar(3))from dual –