2013-04-12 42 views
1

我想讓用戶輸入他們將要使用的數據庫路徑。SSIS - 如何將用戶定義的變量用作數據庫路徑?

例如: @SourceDB = DatabaseA.dbo。

然後,我想使用數據流或執行SQL任務中的變量。

我的問題:我如何參考這兩個任務中的變量?這些都不辦法似乎是爲我工作:

SELECT Field1, Field2 FROM @SourceDB + tablename 

"SELECT Field1, Field2 FROM " + @[User::SourceDB] + "tablename" 

SELECT Field1, Field2 FROM ? tablename 

回答

1

你會不會能夠使用它作爲一個參數?。其他人試圖做到這一點,並遇到你正在經歷的事情。

我會做的是定義一個變量,將其稱爲SourceQuery,字符串的數據類型,範圍在包級別。在該變量(F4)的屬性窗口中,將EvaluateAsExpression屬性更改爲True。然後使用表達式中的公式,就像您已經指定的那樣。 "SELECT Field1, Field2 FROM " + @[User::SourceDB] + "tablename"

最後在您的OLE DB Source中,將訪問模式更改爲表或視圖爲「SQL變量中的命令」,然後就可以工作了。

需要注意的一個注意事項是,如果這些列的數據類型發生更改,那麼您的SSIS包將無法通過驗證步驟。

相關問題