CREATE XADATASOURCE TYPE 语句

使用 CREATE XADATASOURCE TYPE 语句创建新的符合 XA 的数据源类型,并在 sysxasourcetypes 系统目录表中为其创建一个条目。该语句是 SQL ANSI/ISO 标准的扩展。

语法

元素 描述 限制 语法
xa_type 在此处声明新的 XA 数据源类型的名称 sysxasourcetypes 系统目录表中的 XA 数据源类型名称中必须是唯一的 标识符

语法

CREATE XADATASOURCE TYPE 语句向数据库中添加一个符合 XA 的数据源类型。

高可用集群的辅助服务器上不支持 CREATE XADATASOURCE TYPE 语句。

任何用户都可以根据数据库是否符合 ANSI 的状态创建遵循所有者命名规则标准的 XA 数据源类型。只有使用事务日志记录的数据库才支持 X/Open DTP XA 标准。

要创建数据源类型,您必须声明它的名称并指定 purpose functionspurpose values 作为 XA 源类型的属性。源类型名称后面的大多数的选项将 sysxasourcetypes 系统目录表中的列与 UDR 相关联。

如果您包含了可选的 IF NOT EXISTS 关键字,则如果它指定名称的 XA 数据源类型名称已在当前数据库中注册,则数据库服务器不会执行任何操作(而不是向应用程序发送异常)。

XA 数据源类型和 XA 数据源实例都会指定到一个数据库。要支持分布式事务,必须在多个与外部 XA 数据源交互的数据库中创建它们。

以下语句创建新的 XA 数据源类型,名为 MQSeries® ,被用户 gbasedbt 所有。
CREATE XADATASOURCE TYPE 'gbasedbt'.MQSeries(
          xa_flags    = 1,
          xa_version  = 0,
          xa_open     = gbasedbt.mqseries_open,
          xa_close    = gbasedbt.mqseries_close,
          xa_start    = gbasedbt.mqseries_start,
          xa_end      = gbasedbt.mqseries_end,
          xa_rollback = gbasedbt.mqseries_rollback,
          xa_prepare  = gbasedbt.mqseries_prepare,
          xa_commit   = gbasedbt.mqseries_commit,
          xa_recover  = gbasedbt.mqseries_recover,
          xa_forget   = gbasedbt.mqseries_forget,
          xa_complete = gbasedbt.mqseries_complete);

您需要为上述列出的选项提供一个值或 UDR 名称,但是您列出它们的顺序并不重要。(在此示例中目标选项的顺序与 sysxasourcetypes 系统目录表中列名称的顺序相对应。)

此语句成功执行后,您创建了 gbasedbt.MQSeries 类型的实例。以下语句创建了新的实例 gbasedbt.MenloPark ,它符合 XA 数据源类型 gbasedbt.MQSeries
CREATE XADATASOURCE gbasedbt.MenloPark USING gbasedbt.MQSeries;
1 请参阅 用途选项