DataUpdate 节点

用途

使用 DataUpdate 节点与指定的 ODBC 数据源中的数据库进行交互。DataUpdate 节点是 Database 节点的专门格式,并且交互作用限定为在数据库内的表中更新一个或多个行。您通过某些标识必需的操作的方法定义使用来自输入消息的映射语句,以定义更新的内容。

您可以设置属性来控制立即落实对数据库进行的更新,还是延迟直到更新落实时消息流处理完成,或按照消息流的整个完成状态回滚。

DataUpdate 节点在工作台中由以下图标表示:

DataUpdate 节点图标

在消息流中使用此节点

考虑这样一种情况,您已经将新产品 - 键盘的详细信息添加到库存数据库。现在您已经从存放货物的部门接收到了消息,表明 500 个键盘已经交付到您的仓库。您可以使用 DataUpdate 节点更改数据库中键盘的数量(从 0 到 500)。

配置 DataUpdate 节点

当您将 DataUpdate 节点的实例放入消息流后,便可对它进行配置。右键单击编辑器视图中的节点,然后单击属性。 将显示该节点的基本属性。

对于必须为其输入值的所有必需属性(没有定义缺省值的属性),在属性对话框上都会用星号作标记。

如下所示配置 DataUpdate 节点:

  1. 数据源中指定,在执行消息流的系统上相应数据库所知的名称。代理使用 mqsicreatebrokermqsichangebrokermqsisetdbparms 命令中指定的用户标识和密码信息连接此数据库。

    在 z/OS 系统上,代理使用 mqsisetdbparms 命令中指定的代理启动任务标识或用户标识和密码、JCL 和定制数据集 <hlq>.SBIPPROC 中的 BIPSDBP。

  2. 语句中,标识要在此节点中执行的关联映射例程。缺省情况下,指定给映射例程的名称与定义例程的映射文件名相同。当您将文件的缺省名包含在消息流中时,它就是与节点名连接的消息流名称(例如,消息流 MFlow1 中第一个 DataUpdate 节点的 MFlow1_DataUpdate.mfmap)。指定的值中不能包含空格。

    如果单击这个输入字段旁边的浏览,会显示一个对话框,其中列出此节点可访问的所有可用映射例程。选择需要的例程,然后单击确定。 例程名称在语句中设置。

    要使用与该节点相关联的映射例程,右键单击该节点并单击打开映射。如果映射例程不存在,则在缺省文件中用缺省名称创建一个。 如果文件已存在,也可以在导航器视图中打开文件 <flow_name>_<node_name>.mfmap

    映射例程专用于与其关联的节点类型;您无法将为 DataUpdate 节点开发的映射例程与任何其他使用映射的节点(如,DataInsert 节点)一起使用。如果创建映射例程,尽管可以从 ESQL 例程调用此例程,但不能从其他任何映射例程调用。

  3. 从下拉菜单中选择事务设置。值为:
    • 自动(缺省值)。该消息流的一部分是 DataUpdate 节点,如果成功就落实它。即,执行在映射中定义的操作并且消息继续通过消息流。如果消息流失败,则回滚。因此,如果选择自动,则在数据库上落实或回滚 DataUpdate 节点操作的功能要取决于整个消息流的成败。
    • 落实。如果不考虑整个消息流的成败,要在连接到该节点的数据库上落实在该消息流中执行的任何未落实的操作,请选择落实。即使消息流本身失败也落实对数据库进行的更改。
  4. 在属性对话框导航器中选择“基本”,并选择或清除两个复选框:
    • 如果您要将数据库警告消息作为错误来处理,并且让节点将输出消息传播到失败终端,则选择将警告作为错误处理复选框。该框起初未选中。

      当您选择此框时,节点将所有数据库的正返回码按错误处理并将以同样的方法生成异常,如同对负或更严重的错误那样的方式。

      如果您没有选择框,则节点将警告作为正常返回码处理,并且不生成任何异常。生成的最明显的警告是未找到,在大多数情况下可以安全地作为正常返回码处理。

    • 如果在检测到数据库错误时想要代理生成异常,选择在数据库出错时抛出异常复选框。该框起初为选中。

      如果清除该框,则必须处理消息流中的错误来确保代理和数据库的完整性:如果您没有通过自己的处理来解决则忽略错误,因为您已经选择不调用由代理处理的缺省错误。例如,您可能将 failure 终端连接到错误处理子例程。

  5. 选择属性对话框导航器中的“描述”,以输入简短描述和/或详细描述。
  6. 单击应用在不关闭“属性”对话框的情况下对 DataUpdate 节点进行更改。单击确定以应用更改,并关闭属性对话框。

    单击取消以关闭对话框,并废弃对属性所作的所有更改。

终端和属性

下表描述 DataUpdate 节点的终端。

终端 描述
In 接受供节点处理的消息的输入终端。
Failure 如果在计算期间检测到故障,则这就是输入消息传播到的输出终端。如果您已经选择将警告作为错误处理,则即使进程成功完成,节点也会将消息传播到该终端。
Out 输出终端根据数据库语句的执行输出消息。

下表描述该节点的属性;标题为 M 的列表示属性是否是必需的(如果在未定义缺省值时必须输入值,则在属性对话框上以星号作标记),标题为 C 的列表示属性是否是可配置的(将消息流添加到 BAR 文件以部署此文件时可以更改该值)。

下表描述 DataUpdate 节点的“基本”属性。

属性 M C 缺省值 描述
数据源   数据库的 ODBC 数据源名,在该数据库中驻留着您在与此节点关联的映射中引用的表(由语句属性标识)。
语句 DataUpdate 映射例程(包括要对数据库或消息树执行的语句)的名称。此例程对于此节点类型是唯一的。
事务 自动 节点的事务方式。这可以是自动落实
将警告作为错误处理 已清除 将数据库 SQL 警告作为错误处理。如果您选中该复选框,则执行此操作。
在数据库出错时抛出异常 选中 数据库错误导致代理抛出异常。如果您选中该复选框,则执行此操作。

下表描述 DataUpdate 节点的“描述”属性。

属性 M C 缺省值 描述
简短描述   节点的简要描述。
详细描述   描述消息流中节点用途的文本。
声明 | 商标 | 下载 | 书库 | 支持 | 反馈
Copyright IBM Corporation 1999, 2006 最后一次更新时间:2006/08/14
ac04700_