2012-03-12 68 views
2

道歉,我是一個SSIS noob,我努力嘗試導入一個平面文件並做一個OLE DB命令WHILE在SqlCommand中包含一個變量。SSIS不能使用變量(平面文件> OLE DB命令),必須聲明標量變量「@」

Data Flow

你可以看到我的查詢和嘗試包括已經定義的變量。顯示以下錯誤:

Advanced Editor for OLE DB Command

必須聲明標量變量「@」我明白什麼是錯誤的說法,但搜索了幾個小時之後,我無法弄清楚如何在OLE DB命令使用變量。

在此先感謝您的幫助。

+0

某些命令要求您使用「?」代替變量(調用你的參數「0」,「1」,「2」等),以及其他的'@ variable'語法。確保你有變量映射到你的參數。 – 2012-03-12 18:42:22

+0

絕對嘗試過(使用?代替變量名稱)。問題是我必須映射?到輸入列,並且我的變量都不可見從輸入列下拉列表中。只是來自平面文件源的列... – 2012-03-12 18:54:17

+1

看起來像派生列轉換可能是我正在尋找。 – 2012-03-12 18:59:41

回答

3

嘗試將ssis變量[user :: ClientID]放入派生列並將其添加到數據流中。你應該可以使用?並將該值分配給您的查詢,就像數據流中的任何其他值一樣。