“调用过程”活动
在运行时期间,调用过程活动运行数据库中的存储过程。必须在数据库中写入和安装存储过程,然后才能在 Studio 中完成调用过程活动的配置。
注: 不支持对 Informix® 数据库中的存储过程进行函数名重载。存储过程在 Informix 中不能具有相同名称,即使其签名唯一也如此。
下列过程中描述了向编排中添加并配置调用过程活动的步骤:
向编排中添加“调用过程”活动
- 创建或打开编排。这样会打开编排的图形表示。
- 选择活动选项卡并展开数据库文件夹。
- 将调用过程活动拖至编排上。
- 选择调用过程活动。
创建、选择或编辑数据库端点
- 单击核对表中的选取端点任务,然后选择下列操作之一:
- 选择现有端点:
- 选择浏览。这样会打开 Project Explorer。
- 选择现有端点并单击确定。 跳至配置“调用过程”活动活动过程。
- 选择现有端点并编辑该端点:
- 选择浏览。这样会打开 Project Explorer。
- 选择现有端点并单击确定。
- 单击编辑。这样会显示“编辑端点”窗格。
- 创建新端点:
- 选择新建。这样会打开“创建端点”窗格。
- 选择现有端点:
- 创建或编辑数据库端点
配置“调用过程”活动
- 单击核对表中的存储过程。 这样会打开“存储过程”窗格。
- 单击浏览...。这样会显示“浏览存储过程”对话框。
- 要查看数据库中的所有存储过程,而不仅是通过所选用户模式可视的存储过程,请单击清除。
- 从列表中选择存储过程。
- 单击确定。此时在“存储过程”窗格中会显示所选存储过程的参数信息。注: 不支持从参数列表中间删除存储过程调用参数。如果要以不同于列表中的显示顺序指定参数,可以创建在参数中没有间隔(即,包含所需参数的准确子集)的包装程序存储过程(例如,WrapperStoredProcedure1), 然后让新存储过程使用 Microsoft SQL Server 支持的 @parameter = value 格式调用底层存储过程(例如,BackendStoredProcedure1)。然后,您可以让编排使用仅具有所需参数的包装程序存储过程。或者,您可以在 Studio 中为原始的底层存储过程(例如,BackendStoredProcedure1)提供完整的参数集(不含省略和缺省值)。请注意,虽然不支持从参数列表中间删除存储过程调用参数,但可以删除参数列表末尾显示的参数。
- 要更改当前字符编码(初始从数据库端点中获取),请从编码列表中选择其他编码选项。 这将更改存储过程的所有输入参数的缺省字符编码。
- 缺省情况下,会选择存储过程的所有输入和输出(IN、INOUT、RETURN、OUT)参数。您无需包含为存储过程定义的所有输入和输出参数。对输出参数(INOUT、RETURN、OUT)清除“使用”复选框意味着输出参数在映射输入任务中不可用。对输入参数(IN、INOUT)清除使用复选框意味着输入参数在映射输入任务中不可用。请仅对在运行时无需指定输入值的输入参数清除使用复选框。存储过程的一些输入参数可能具有缺省值。
大多数数据库仅返回单个返回参数。对于这些数据库,如果为返回参数选中了使用复选框,那么返回值在映射输出任务的自活动窗格内的单个 results/result/RETURN_VALUE 节点中返回。但是,Informix 数据库支持多个返回参数;对于 Informix 数据库,返回参数在重复的 results/result/result/resultsSets/any 节点中返回。 即使一个参数从存储过程中返回,返回参数也在 results/result/result/resultsSets/any 节点中返回。 在映射中使用 CopyOf 函数可将 result 节点的内容(包括名为 resultSet 的子节点)复制到变量。为使 CopyOf 函数将源节点的值正确复制到目标节点,目标变量的 XML 模式必须与源节点的 XML 模式匹配。有关更多信息,请参阅 CopyOf 函数。
- 单击列标题以按列值对行进行排序。例如,要按行的列名称对行进行排序,请单击列的列名称标题。 在列标题名称右侧会显示一个箭头。 向上箭头指示列按字母顺序(从 a 到 z)排序。 向下箭头指示列按反向字母顺序(从 z 到 a)排序。 单击箭头可逆转字母顺序。
- 如有必要,请为各查询输入参数更改数据类型、编码或可空值的设置。
单击字段以进行新选择:
- 数据类型 - 缺省为参数的数据类型。通过在数据类型单元格中单击并从列表的对应单元格中选择其他数据类型来为参数选择备用数据类型。必须更改任何标记为 UNSUPPORTED 的任何数据类型。注: (针对 MONEY 和 XMLTYPE 数据类型)对于 Oracle 数据库中的 XMLTYPE 数据类型和 SQL Server 数据库中的 MONEY 数据类型,Studio 不会自动关联正确的数据类型,因此必须手动选择相应的数据类型。
- 编码 - 缺省为已在数据库级别或表级别设置的当前缺省编码。如果参数的所需编码不同于当前缺省编码,请选择其他编码,方法是在编码单元格中单击,然后从列表中选择其他编码。
- 大小 - 表中定义的列大小。此大小是从数据库表中检索到的并且不可配置。
- 数据类型 - 缺省为参数的数据类型。通过在数据类型单元格中单击并从列表的对应单元格中选择其他数据类型来为参数选择备用数据类型。必须更改任何标记为 UNSUPPORTED 的任何数据类型。
- 单击重置以将所有参数属性重置为其缺省值。这还将对所有参数选择使用选项。
- 配置交付规则。注: 如果在交付规则任务中选择仅一次选项,那么必须创建供 Integration Appliance 在运行时期间使用的控制表。从 Studio 将编排发布到 Integration Appliance 后,创建控制表。部署项目之前,使用 Web 管理控制台 (WMC) 创建控制表。
- 配置重试选项。
映射活动的输入
- 在核对表中选择映射输入任务。 此时在至活动窗格中的 calls 元素下会显示活动的输入参数。至活动窗格中显示的输入参数与在存储过程任务中所选的 IN 和 INOUT 参数对应。如果在交付规则中选中了每条消息批处理多行复选框,那么在 call 元素旁边会显示多次出现图标。
- 映射显示的所有输入参数。请参阅创建映射,以获取与映射有关的常规指示信息。
映射活动的输出
- 在核对表中选择映射输出任务。
此时在自活动窗格的 results 元素下会显示活动的输出参数。自活动窗格中显示的输出参数与存储过程任务中所选的 OUT、RETURN 和 INOUT 参数对应。
如果在交付规则中选中了每条消息批处理多行复选框,那么在 result 元素旁边会显示多次出现图标。
调用过程活动的自活动窗格中会显示名为 resultSet 的重复节点,即使存储过程没有任何返回参数也如此。在运行时期间,如果从活动开始的存储过程返回结果集,那么此结果集从 resultSet 节点中的活动返回。例如,如果存储过程启动 SELECT 语句,那么 SELECT 语句中的结果集在 resultSet 节点中返回。 在映射中使用 CopyOf 函数可将 result 节点的内容(包括名为 resultSet 的子节点)复制到变量。 - 将所需输出参数映射到变量。请参阅创建映射,以获取与映射有关的常规指示信息。您无需为此活动映射输出参数。