使用 CREATE XADATASOURCE TYPE 语句创建新的符合 XA 的数据源类型,并在 sysxasourcetypes 系统目录表中为其创建一个条目。该语句是 SQL ANSI/ISO 标准的扩展。
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 数据源交互的数据库中创建它们。
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 系统目录表中列名称的顺序相对应。)
CREATE XADATASOURCE gbasedbt.MenloPark USING gbasedbt.MQSeries;