单表出站数据库活动
此部分包含配置下列单表出站数据库活动的过程。
这些活动包括:
- 插入行 - 此活动从映射到活动输入参数的一个或多个变量中获取数据并将此数据作为行插入到指定数据库表中。
- 更新行 - 此活动从映射到活动输入参数的一个或多个变量中获取数据并通过此新数据更新指定数据库表的行。
- 删除行 - 此活动从映射到活动输入参数的一个或多个变量中获取数据并基于此数据删除指定数据库表的行。
例如,PK 列在数据库中定义为数据库表的主键列。
针对删除行活动的核对表中的选取表任务中的 PK 列选中了使用复选框。在删除行活动的“映射输入”窗格中,名为 myIncomingPK 的变量映射到行的 PK 元素,如图 1 中所示:
图 1. myIncomingPK 映射到行的 PK 元素

在运行时期间,如果 myIncomingPK 变量的值等于 3,那么会从表中删除 PK 等于 3 的行,如图 2 中所示:
图 2. 将会删除主键等于 3 的行
如果在核对表的选取表任务中未指定主键列,请至少指定一列来充当主键。使用“配置主键”对话框指定一个或多个代理主键列,方法是单击删除行和更新行活动核对表的选取表任务中的键。如果在数据库表中未指定主键或在“配置主键”对话框中未选择主键作为代理主键,那么数据库表的所有行都受删除或更新操作的影响。
您还可以使用“配置主键”对话框来指定其他要充当主键列的列。例如,对于上图中的表,除已在数据库中定义为主键列的 PK 主列外,还可以定义 Name 列也充当主键列。
向编排中添加单表出站数据库活动
- 创建或打开编排。这样会以图形形式显示编排。
- 选择活动选项卡并展开数据库文件夹。
- 将所需的单表出站数据库活动(插入行、删除行或更新行)拖至编排上。
- 选择该活动。
创建、选择或编辑数据库端点
- 单击核对表中的选取端点任务,然后选择下列操作之一:
- 选择现有端点:
- 选择浏览。这样会显示 Project Explorer。
- 选择现有端点并单击确定。 跳至“配置活动”过程。
- 选择现有端点并编辑该端点:
- 选择浏览。这样会显示 Project Explorer。
- 选择现有端点并单击确定。
- 单击编辑。这样会显示“编辑端点”窗格。
- 创建端点:选择新建。这样会显示“创建端点”窗格。
- 选择现有端点:
- 创建或编辑 HTTP 端点(请参阅创建或编辑 HTTP 端点)。
选择在运行时期间 Integration Appliance 轮询更改所在的源数据库表中的列
- 单击核对表中的选取表。 这样会显示“选取表”窗格。
- 单击浏览... 以选择要作为入站消息源的数据库表。这样会显示“浏览数据库表”对话框。
- 从列表中选择表并单击确定。 此时在“选取表”窗格中会显示所选表的列信息。
- 如果此表的字符编码不同于数据库的编码,请使用下列选项之一输入其他编码:
- 从编码列表中选择其中一种缺省编码类型。
- 通过在编码字段中单击,然后输入编码类型,直接输入编码类型。
注: 一些双字节字符未使用 SHIFT-JIS 编码进行转换。有关更多信息,请参阅使用 Shift-JIS 编码。 - 缺省情况下,会选择源表中的所有列。清除使用复选框将从生成的缓冲区表中除去列。单击全部使用以重新选择所有列。
- 在列标题中单击以按列值对行进行排序。例如,要按行的列名称对行进行排序,请单击列的列名称标题。在列标题名称右侧会显示一个箭头。向上箭头指示列按字母顺序(从 a 到 z)排序。向下箭头指示列按反向字母顺序(从 z 到 a)排序。单击箭头可逆转字母顺序。
- 仅对获取已更新行活动 - 如果希望生成的缓冲区表同时包含已更新列的新值和原始值,请遵循下列步骤:
- 单击旧值。这样会显示“更新的旧值列”对话框。
- 针对要保存原始值的数据库列选中存储复选框。
- 您可以更改指定给列(用于存储原始值)的缺省名称。双击相应的用于存储旧值的列的名称单元格。
- 单击确定。此时在“映射输出”窗格的自活动中会显示以字符串 old_ 为前缀的所选列。您可以从“映射输出”窗格映射新值和原始值。
注: 有关更多信息,请参阅为更新中的旧值定义列。 - 如有必要,请更改数据类型、编码或可空值的设置。单击字段以进行新选择。
- 数据类型 - 缺省为源数据库表中列的数据类型。如果缓冲区表中列的所需数据类型不同于源表的数据类型,请选择其他数据类型,方法是在数据类型单元格中单击,然后从列表中选择其他数据类型。
您必须为标记为 UNSUPPORTED 的那些数据类型选择相应的数据类型。注: 对于 Oracle 数据库中的 XMLTYPE 数据类型和 SQL Server 数据库中的 MONEY 数据类型,Studio 不会自动关联正确的数据类型,因此必须手动选择相应的数据类型。注意: 必须选择与源数据类型兼容的数据类型,以避免运行时期间数据无效。例如,如果源数据类型为 INTEGER,请勿为缓冲区表选择 SMALLINT 数据类型,因为在运行时期间,存储在 INTEGER 列中的大数字将不会正确转换为 SMALLINT 数据类型。
- 大小 - 表中定义的列大小。此大小是从数据库表中检索到的并且不可配置。
- 编码 - 缺省为已在数据库级别或表级别设置的当前缺省编码。如果列的所需编码不同于当前缺省编码,请选择其他编码,方法是在编码单元格中单击,然后从列表中选择其他编码。
- 可空 - 缺省为源数据库表中列的可空设置。对于 nullable=false 的列必须选中使用复选框。 标记为 nullable=false 的列在运行时期间不能包含 null。
- 数据类型 - 缺省为源数据库表中列的数据类型。如果缓冲区表中列的所需数据类型不同于源表的数据类型,请选择其他数据类型,方法是在数据类型单元格中单击,然后从列表中选择其他数据类型。
您必须为标记为 UNSUPPORTED 的那些数据类型选择相应的数据类型。
- 单击重置以将所有列属性重置为其缺省值。这还会对所有列重置使用复选框。
- 单击刷新以更新与源数据库最新状态有关的列的列表。对源的最新更改在此窗格中进行更新。
- 配置指定数据库活动的交付规则。注: 如果在交付规则任务中选择仅一次选项,那么必须创建供 Integration Appliance 在运行时期间使用的控制表。从 Studio 将编排发布到 Integration Appliance 后,创建控制表。部署项目之前,使用 Web 管理控制台 (WMC) 创建控制表。
- 配置重试选项。有关更多信息,请参阅入站数据库活动的重试选项。
指定活动的目标数据库表
- 单击核对表中的选取表。 这样会显示“选取表”窗格。
- 单击浏览... 以选择目标数据库表。这样会显示“浏览数据库表”对话框。
- 从列表中选择表并单击确定。 此时在“选取表”窗格中会显示所选表的列信息。
- 如果此表的字符编码不同于数据库的编码,请使用下列选项之一输入其他编码:
- 从编码列表中选择其中一种缺省编码类型。
- 通过在编码字段中单击,然后输入编码类型,直接输入编码类型。
注: 一些双字节字符未使用 SHIFT-JIS 编码进行转换。有关更多信息,请参阅使用 Shift-JIS 编码。 - 缺省情况下,会选择源表中的所有列。清除使用复选框将从生成的缓冲区表中除去列。如果未选择列,那么该列不会显示在“映射输入”窗格中并且在运行时不更新。单击全部使用以重新选择所有列。
- 在列标题中单击以按列值对行进行排序。例如,要按行的列名称对行进行排序,请单击列的列名称标题。在列标题名称右侧会显示一个箭头。向上箭头指示列按字母顺序(从 a 到 z)排序。向下箭头指示列按反向字母顺序(从 z 到 a)排序。单击箭头可逆转字母顺序。
- 如有必要,请更改数据类型、编码或可空值的设置。单击字段以进行新选择。
- 数据类型 - 缺省为源数据库表中列的数据类型。如果缓冲区表中列的所需数据类型不同于源表的数据类型,请选择其他数据类型,方法是在数据类型单元格中单击,然后从列表中选择其他数据类型。
您必须为标记为 UNSUPPORTED 的那些数据类型选择相应的数据类型。注: 对于 Oracle 数据库中的 XMLTYPE 数据类型和 SQL Server 数据库中的 MONEY 数据类型,Studio 不会自动关联正确的数据类型,因此必须手动选择相应的数据类型。注意: 必须选择与源数据类型兼容的数据类型,以避免运行时期间数据无效。例如,如果源数据类型为 INTEGER,请勿为缓冲区表选择 SMALLINT 数据类型,因为在运行时期间,存储在 INTEGER 列中的大数字不会正确转换为 SMALLINT 数据类型。
- 大小 - 表中定义的列大小。此大小是从数据库表中检索到的并且不可配置。
- 编码 - 缺省为已在数据库级别或表级别设置的当前缺省编码。如果列的所需编码不同于当前缺省编码,请选择其他编码,方法是在编码单元格中单击,然后从列表中选择其他编码。
- 可空 - 缺省为源数据库表中列的可空设置。对于 nullable=false 的列必须选中使用复选框。 标记为 nullable=false 的列在运行时期间不能包含 null。
- 数据类型 - 缺省为源数据库表中列的数据类型。如果缓冲区表中列的所需数据类型不同于源表的数据类型,请选择其他数据类型,方法是在数据类型单元格中单击,然后从列表中选择其他数据类型。
您必须为标记为 UNSUPPORTED 的那些数据类型选择相应的数据类型。
- 单击重置以将所有列属性重置为其缺省值。这还会对所有列重置使用复选框。
- 单击刷新以更新与源数据库最新状态有关的列的列表。对源的最新更改在此窗格中进行更新。
- 仅对更新行活动 - 选中如果行还不存在请插入行复选框,前提是在运行时期间,希望更新行活动首先尝试并更新指定行,但如果该行不存在,那么将该行插入到数据库表中。
- 仅对更新行活动 - 如果要在数据库中同时保存新值和原始值,请遵循下列步骤:
- 单击旧值。这样会显示“更新的旧值列”对话框。
- 针对要保存原始值的数据库列选中存储复选框。
- 您可以更改指定给列的缺省值,这些列用于在运行时期间存储原始值。在相应的用于存储旧值的列的名称单元格中双击。
- 单击确定。此时在“映射输出”窗格的“至活动”中会显示以字符串 old_ 为前缀的所选列。 您可以从“映射输出”窗格映射到新值和原始值。
注: 有关更多信息,请参阅为更新中的旧值定义列。 - 仅对更新行或删除行活动 - 要指定除数据库已定义的任何主键列外的代理主键列,请遵循下列步骤:
- 单击键。这样会显示“配置主键”对话框。
- 要将某列指定为代理主键列,请单击该列,然后单击 >>。
- 单击确定。
注: 如果在核对表的选取表任务中未指定主键列(如数据库中所定义),那么必须至少指定一列作为代理主键列。重复此步骤以指定更多代理主键列。 - 配置指定数据库活动的交付规则。注: 如果在交付规则任务中选择仅一次选项,那么必须创建供 Integration Appliance 在运行时期间使用的控制表。从 Studio 将编排发布到 Integration Appliance 后,创建控制表。部署项目之前,使用 Web 管理控制台 (WMC) 创建控制表。
- 配置重试选项。有关更多信息,请参阅出站数据库活动的重试选项。
映射活动的输入
- 在核对表中选择映射输入任务。此时在“至活动”窗格中的 row 元素下会显示活动的输入参数。“自活动”窗格中显示的输入参数与在选取表任务中所选的列对应。如果在交付规则中选中了每条消息批处理多行复选框,那么在 row 元素旁边会显示多次出现符号。注: 仅对获取已更新行活动,如果在“更新的旧值列”对话框中选择了一些列(在选取表任务中),那么这些附加输出参数(缺省情况下以字符串 old_ 为前缀)也显示在 rows 元素下。
- 映射所有输入参数。请参阅创建映射,以获取与映射有关的常规指示信息。必须映射活动的所有输入参数。
映射活动的输出
- 在核对表中选择映射输出任务。GetRowsCount 复选框确定“映射输出”窗格中的显示内容:
- 如果在交付规则中清除了获取行计数复选框,那么“映射输出”窗格为空白。
- 如果在交付规则中选中了获取行计数复选框,那么“映射输出”窗格会显示 rowCount 元素。 如果在交付规则中选中了每条消息批处理多行复选框,那么在 rowCount 元素旁边会显示多次出现符号。
- 如果显示了 RowCount 输出参数,请根据需要映射 RowCount 输出参数。 请参阅创建映射,以获取与映射有关的常规指示信息。您无需映射活动的输出参数。