SSIS 使用ADO.NET 讀取 informix 參數對應&結果回傳

SSIS 使用ADO.NET 讀取 informix 參數對應&結果回傳

 

SSIS存取informix有一些小地方需要注意,在這裡記錄下來這幾天測試的點點滴滴

 

先建立一個informix的資料來源

方案總管>資料來源>新增資料來源

SNAGHTML9c259a3

 

接著做一個簡單的查詢 輸入一個查詢參數>回傳一個結果

建立一個新的SSIS封裝:方案總管>SSIS封裝>新增SSIS封裝

image

 

在新的SSIS封裝中

1.從工具箱拖出>執行SQL工作,指令碼工作>將兩個做連接

2.連接管理員>新增從資料來源的連接>選擇剛剛建立的資料來源

SNAGHTML9d0dcc9

 

建立輸入/輸出參數

這裡input需要依照查詢條件欄位格式設定資料類型,Output目前測試好像一定要是Object

image

 

DoubleClick 執行SQL工作>做下列設定

image

Connection Type:ADO.NET

Connection:選擇剛剛建立的資料來源

SQLStatement:注意 回傳參數一定要有名稱,傳入參數用?


from pcmckmrtp
where substr(rptno,1,6)= ? 

Result:單一資料列

image

 

參數對應表示輸入參數

變數名稱:剛才建立的input參數

參數名稱:這裡 0 對應到前面SQLStatement的第一個 ?   

SNAGHTML9e33b3d

 

結果集表示輸出參數

結果名稱:這裡 0 對應到前面SQLStatement的第一個 output   

變數名稱:剛才建立的output參數 

image

 

點選指令碼工作>ReadWiteVariables:output(要輸出的參數) > 編輯指令碼 >將結果輸出

SNAGHTML9f02573

 

將結果顯示在MessageBox

MessageBox.Show(Dts.Variables("output").Value.ToString())

image

 

最後建置專案

image

 

補充:如果Informix為32位元版本建置會出現錯誤,請參考SSIS x64 連接 x86 的informix建置錯誤