繁体   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