簡體   English   中英

如果存儲過程失敗,則在執行 SQL 任務中將 output 變量值放入 ssis 變量中

[英]If stored procedure failed then Get output variables values into ssis variables in Execute SQL Task

我正在嘗試將 output 消息從 SP 獲取到執行 SQL 任務中的 SSIS 變量中。 如果存儲過程成功執行,我可以獲取消息,但如果存儲過程引發錯誤,則變量保持為空,如下所示 -

在 Execute Sql Taks 中使用輸出變量調用 SP

輸出變量的參數映射

帶有輸出變量並引發錯誤的存儲過程代碼

現在,如果 sp 執行成功完成,則 ssis 變量獲取數據,但如果 sp 執行出錯,則 ssis 變量保持為空並執行 SQL 任務組件失敗(這是所需的行為)。 請指導。 謝謝!

如果執行 SQL 任務失敗,則不會填充 output 變量。
最好的選擇是更改您的存儲過程並將所有代碼包裝在 try/catch 塊中。 這樣您就可以始終填充變量,如果您收到內部錯誤,請確保 SSIS package 失敗。

如果在存儲過程中使用 RAISERROR,則只有 SSIS 可用的信息是帶有 RAISERROR 語句的錯誤消息。 您可以通過在 SSIS 中創建 OnError 處理程序來檢索此信息,然后它將在系統變量中可用:“System::ErrorDescription”

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM