如何在表达式构建器中使用 System::ErrorDescription 系统变量
How can I use System::ErrorDescription system variable in the expression builder
我正在使用 BIML 创建 SSIS 包,包的一部分处理发生的错误。我正在使用 Execute SQL Task 调用存储过程来记录数据库中的错误详细信息,并且存储过程需要一个参数 @Comments 包含错误描述信息和一些其他自定义信息。
I'm trying to create a variable Error_Details and use an expression to build the value for @Comments param.
<Parameters>
<Parameter Name="ParentPkgID" DataType="Int32">0</Parameter>
</Parameters>
<Variables>
<Variable Name="TableName" DataType="String">
tblEmployee
</Variable>
<Variable Name="Error_Details" DataType="String" EvaluateAsExpression="true">
"Package execution failed, Error details :: " + @[System::ErrorDescription]
</Variable>
</Variables>
问题是当我使用上面的代码创建变量时包创建失败,我知道 System::ErrorDescription 在表达式构建器中不可用,但我在这里有什么选择。
How can I use some system variables which are only available on some specific context in BIML code.
非常感谢您查看我的问题。请提出解决方案。
这是由于 SSIS 中的限制,如果您尝试在那里使用上述表达式,SSDT 设计器将给您一个类似的错误。
SSIS 仅使 System::ErrorDescription 和 System::ErrorCode 变量在某些事件处理程序类型的上下文中可用,例如 OnError。
您可以重新安排程序包以在 ExecuteSQL 任务上创建事件处理程序,获取其中的错误描述,然后使用事件处理程序中的存储过程调用来处理它。以下是一些将按预期构建的最小示例代码:
<Biml xmlns="http://schemas.varigence.com/biml.xsd">
<Packages>
<Package Name="Package1">
<Tasks>
<Dataflow Name="DataflowTask1">
<Events>
<Event Name="OnError" EventType="OnError">
<Variables>
<Variable Name="Error_Details" DataType="String" EvaluateAsExpression="true">"Package execution failed, Error details :: " + @[System::ErrorDescription] </Variable>
</Variables>
</Event>
</Events>
</Dataflow>
</Tasks>
</Package>
</Packages>
</Biml>
我正在使用 BIML 创建 SSIS 包,包的一部分处理发生的错误。我正在使用 Execute SQL Task 调用存储过程来记录数据库中的错误详细信息,并且存储过程需要一个参数 @Comments 包含错误描述信息和一些其他自定义信息。
I'm trying to create a variable Error_Details and use an expression to build the value for @Comments param.
<Parameters>
<Parameter Name="ParentPkgID" DataType="Int32">0</Parameter>
</Parameters>
<Variables>
<Variable Name="TableName" DataType="String">
tblEmployee
</Variable>
<Variable Name="Error_Details" DataType="String" EvaluateAsExpression="true">
"Package execution failed, Error details :: " + @[System::ErrorDescription]
</Variable>
</Variables>
问题是当我使用上面的代码创建变量时包创建失败,我知道 System::ErrorDescription 在表达式构建器中不可用,但我在这里有什么选择。
How can I use some system variables which are only available on some specific context in BIML code.
非常感谢您查看我的问题。请提出解决方案。
这是由于 SSIS 中的限制,如果您尝试在那里使用上述表达式,SSDT 设计器将给您一个类似的错误。
SSIS 仅使 System::ErrorDescription 和 System::ErrorCode 变量在某些事件处理程序类型的上下文中可用,例如 OnError。
您可以重新安排程序包以在 ExecuteSQL 任务上创建事件处理程序,获取其中的错误描述,然后使用事件处理程序中的存储过程调用来处理它。以下是一些将按预期构建的最小示例代码:
<Biml xmlns="http://schemas.varigence.com/biml.xsd">
<Packages>
<Package Name="Package1">
<Tasks>
<Dataflow Name="DataflowTask1">
<Events>
<Event Name="OnError" EventType="OnError">
<Variables>
<Variable Name="Error_Details" DataType="String" EvaluateAsExpression="true">"Package execution failed, Error details :: " + @[System::ErrorDescription] </Variable>
</Variables>
</Event>
</Events>
</Dataflow>
</Tasks>
</Package>
</Packages>
</Biml>