本主题包含以下部分:
使用 DataDelete 节点与指定的 ODBC 数据源中的数据库进行交互。DataDelete 节点是 Database 节点的专门格式,并且交互作用限定为数据库的表中删除一行或多行。您通过用某些标识必要的操作的方法定义使用来自输入消息的数据的映射语句,以定义删除的内容。
您可以通过设置属性来控制,是立即落实对数据库的更新,或是待消息流处理完成时落实更新,或根据消息流的整个完成状态进行回滚操作。
DataDelete 节点在工作台中由以下图标表示:
考虑这样一种情况,您正在进行受限的促销。货物仅可以在促销的周期内提供,并且每个客户只能要一个商品。当所销售的货物的库存用完时,您要从库存数据库除去其详细信息。当预订最后一件商品的消息进入时,触发 DataDelete 节点从数据库除去该商品的所有详细信息。
当您将 DataDelete 节点的实例放入消息流后,便可对它进行配置。右键单击编辑器视图中的节点,然后单击属性。 将显示该节点的基本属性。
对于必须为其输入值的所有必需属性(没有定义缺省值的属性),在属性对话框上都会用星号作标记。
如下所示配置 DataDelete 节点:
在 z/OS 系统上,代理使用 mqsisetdbparms 命令中指定的代理启动任务标识或用户标识和密码、JCL 和定制数据集 <hlq>.SBIPPROC 中的 BIPSDBP。
如果单击该输入字段旁的浏览,会显示一个对话框,其中列出该节点可访问的所有可用映射例程。选择需要的例程,然后单击确定。 例程名称在语句中设置。
要使用与该节点相关联的映射例程,右键单击该节点并单击打开映射。如果映射例程不存在,则在缺省文件中用缺省名称创建一个。 如果文件已存在,也可以在导航器视图中打开文件 <flow_name>_<node_name>.mfmap。
映射例程专用于与其关联的节点类型;您无法将为 DataDelete 节点开发的映射例程与任何其他使用映射的节点(如,DataInsert 节点)一起使用。如果创建映射例程,尽管可以从 ESQL 例程调用此例程,但不能从其他任何映射例程调用。
当您选择此框时,节点将所有数据库的正返回码按错误处理并将以同样的方法生成异常,如同对负或更严重的错误那样的方式。
如果您没有选择框,则节点将警告作为正常返回码处理,并且不生成任何异常。生成的最明显的警告是未找到,在大多数情况下可以安全地作为正常返回码处理。
如果清除该框,则必须处理消息流中的错误来确保代理和数据库的完整性:如果您没有通过自己的处理来解决则忽略错误,因为您已经选择不调用由代理处理的缺省错误。例如,您可能将 failure 终端连接到错误处理子例程。
单击取消以关闭对话框,并废弃对属性所作的所有更改。
下表描述 DataDelete 节点的终端。
终端 | 描述 |
---|---|
In | 接受供节点处理的消息的输入终端。 |
Failure | 如果在计算期间检测到故障,则这就是输入消息传播到的输出终端。如果您已选择将警告作为错误处理,即使处理成功完成,节点也会将消息传播到此终端。 |
Out | 输出终端根据数据库语句的执行输出消息。 |
下表描述该节点的属性;标题为 M 的列表示属性是否是必需的(如果在未定义缺省值时必须输入值,则在属性对话框上以星号作标记),标题为 C 的列表示属性是否是可配置的(将消息流添加到 BAR 文件以部署此文件时可以更改该值)。
下表描述 DataDelete 节点的“基本”属性。
属性 | M | C | 缺省值 | 描述 |
---|---|---|---|---|
数据源 | 否 | 是 | 数据库的 ODBC 数据源名,在该数据库中驻留着您在与此节点关联的映射中引用的表(由语句属性标识)。 | |
语句 | 是 | 否 | DataDelete | 映射例程(包括要对数据库或消息树执行的语句)的名称。此例程对于此节点类型是唯一的。 |
事务 | 是 | 否 | 自动 | 节点的事务方式。这可以是自动或落实。 |
将警告作为错误处理 | 是 | 否 | 已清除 | 将数据库 SQL 警告作为错误处理。如果您选中该复选框,则执行此操作。 |
在数据库出错时抛出异常 | 是 | 否 | 选中 | 数据库错误导致代理抛出异常。如果您选中该复选框,则执行此操作。 |
下表描述 DataDelete 节点的“描述”属性。
属性 | M | C | 缺省值 | 描述 |
---|---|---|---|---|
简短描述 | 否 | 否 | 节点的简要描述。 | |
详细描述 | 否 | 否 | 描述消息流中节点用途的文本。 |