我使用執行SQL任務調用Oracle存儲過程,我想一個參數傳遞給Oracle存儲過程如何將參數傳遞給Oracle存儲過程在SSIS包
查詢中執行SQL任務: -
BEGIN
PKG_METRICS.GET_STUDY_METRIC(@myparameter, 'FIRST_SITE_SELECTED', 'LAST_SITE_SELECTED', 6, null,'SITE');
END;
請讓我知道你的意見......
我使用執行SQL任務調用Oracle存儲過程,我想一個參數傳遞給Oracle存儲過程如何將參數傳遞給Oracle存儲過程在SSIS包
查詢中執行SQL任務: -
BEGIN
PKG_METRICS.GET_STUDY_METRIC(@myparameter, 'FIRST_SITE_SELECTED', 'LAST_SITE_SELECTED', 6, null,'SITE');
END;
請讓我知道你的意見......
你應該去表達的SQL任務, 再加入表達SqlStatementSource ,並把這個代碼對話窗口內: "BEGIN PKG_METRICS.GET_STUDY_METRIC("+
@var_myparameter+", 'FIRST_SITE_SELECTED', 'LAST_SITE_SELECTED', 6, null,'SITE'); END;"
之前,您應該添加字符串變量@var_myparameter。
您可以像上面建議的那樣將字符串構建爲字符串,但是如果它們是管道中ole db命令的輸入,也可以將參數傳遞給Oracle。創建一個OLE DB命令塊。在組件屬性中輸入sql並放置?標記參數應該在哪裏。接下來轉到輸入和輸出屬性。展開OLE DB命令輸入併爲每個需要傳遞的參數添加一個外部列。從零開始,從上到下排列MappedColumnId選項卡。將它們映射到列映射選項卡上的輸入。
如果您的參數只是SSIS中的參數,而不是管道中的參數,您可以使用簡單派生列將其添加到管道中。你也可以使用你最喜歡的oracle訪問DLL從腳本組件執行proc。
沒有完美的選擇,但有辦法做到這一點!
除了chrisPfeif518: 甲骨文(對我來說),在OLE DB命令的任務,我使用的語法:
{call ... }
爲你的情況應該是:
{call PKG_METRICS.GET_STUDY_METRIC(?, ?, ?, ?, ?,?)}
這是2012年 – chrisPfeif518