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 functions 和 purpose 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 请参阅 用途选项