2016-07-25 20 views
0

我試圖使用SSIS導入數據時目前遇到問題。 我有一個SSIS包,將數據從一個服務器/數據庫移動到另一個服務器/數據庫。 此時查詢將採用源數據庫中的所有行並將其移至目標。 我需要改變這一點,以便只使用ID作爲過濾器移動選定的幾行。 我需要傳入一個ID作爲參數,用於過濾數據集以僅返回選定的幾行。如何做到這一點? 我目前有一個簡單的SSIS包含2個數據流對象(來源&目的地),但從我一直在看我可能需要改變這一點。如何將變量傳遞給查詢中要使用的SSIS包

SELECT 
ID, 
[Product Type], 
[Product Title] 
FROM [View] 
where ID = <This should be provided from outside the package> 

該包將最終由TSQL /存儲過程觸發。

感謝。

回答

1

使用參數。在SSIS中,一個問號?被用作參數,它的順序決定了參數名稱。只要使用這個SQL(內Source任務):

SELECT 
ID, 
[Product Type], 
[Product Title] 
FROM [View] 
where ID = ? 

..then點擊Parameters按鈕:

enter image description here 請注意,Preview按鈕(如果你願意嘗試)將無法正常工作(它會拋出一個錯誤),但你可以忽略它,只需按照here的說法運行你的包。

..和然後更改參數的名稱簡單地0(零),並將其設置爲您的變量:

enter image description here

應該很好地工作。

+1

工作過。感謝你的及時回覆 :) – McDuff