2013-03-14 34 views
0

我有一些變量(在包級別,在數據流級別,無所謂),我需要通過運行Execute Sql Task加載它們。 我增加了一個Execute Sql Task,我寫了我的sql語句在SqlStatement,我已經將ForcedExecutionValueType更改爲string。 現在我希望當Execute Sql Task被執行時,select返回的返回值成爲我的變量的確切值。如何從SSIS包中的「Execute Sql Task」加載變量

example: 

Select employer_name from employers where id=1 
Returs="John Doe" 

value for @employer_name must be "John Doe" 

任何提示?

+1

我發現了艾倫米切爾最好的解釋。試試他的[鏈接](http://www.sqlis.com/sqlis/post/The-Execute-SQL-Task.aspx.JPG- -------------------------------------------------- ---------) – BogdanM 2013-03-14 13:32:39

回答

2

您對此問題的更詳細的討論有點難以遵循,所以如果我的後續步驟包含的項目已經很熟悉,我會提醒您。

步驟:

  1. 在控制流選項卡,在拖動的執行SQL任務並打開它。
  2. 請在左側選擇常規。
  3. 定義連接(基於下面連接管理器中創建的數據庫源)。
  4. 定義SQL語句。
  5. 對於結果集,選擇單行。
  6. 選擇結果在左邊設置。
  7. 選擇添加按鈕並注意上面添加了新記錄。
  8. 在新記錄的結果名稱列標題下,將「NewResultname」更改爲「0」。
  9. 在新記錄的變量名列標題下,選擇已創建的現有用戶變量或滾動到頂部並創建一個新變量。
  10. 選擇確定,你就完成了。

現在自行運行執行SQL任務將填充變量。確保你已經驗證了SQL將只返回一個值,而不會返回更多值。否則,您需要修改SQL中的「TOP 1」以保證安全。當預期有多個值時,則應用在「執行SQL任務」中應用使用「對象」的數據類型定義的變量並使用「完整結果集」而不是「單行」。

希望這會有所幫助。

+0

Tnak你這麼多,它幫助。 – BogdanM 2013-03-27 09:07:44