Configuración de bases de datos para flujos de mensajes coordinados

Si el flujo de mensajes interactúa con una base de datos y desea coordinar las actualizaciones que se llevan a cabo en la base de datos con otras acciones realizadas en el flujo de mensajes, configure el intermediario para que gestione las actualizaciones.

Antes de empezar:

Para realizar esta tarea, debe haber completado la tarea siguiente:

Actualice la información del gestor de colas del intermediario definiendo una sección XAResourceManager para cada una de las bases de datos que van a participar en transacciones coordinadas globalmente cuando las actualicen los flujos de mensajes del intermediario.

Si los flujos de mensajes hacen referencia a diccionarios de mensajes o contienen nodos Publication, también debe definir una sección XAResourceManager para la base de datos interna del intermediario utilizando el mismo método.

Utilización de DB2

Si desea utilizar DB2 en transacciones coordinadas:

  • Si utiliza DB2 Versión 7, use el archivo de conmutación que se proporciona; se facilita un archivo para cada una de las plataformas para las que se ofrece soporte. Estos archivos están instalados en el directorio dir_instalación/sample/xatm.
  • Si utiliza DB2 Versión 8, baje el arreglo para el APAR IY46106. Proporciona un archivo tar que contiene archivos de conmutación para todas las plataformas para las que se ofrece soporte.

Si prefiere crear sus propios archivos, siga las instrucciones que se facilitan en el apartado referente a la configuración de DB2 de la WebSphere MQ Guía de administración del sistema. En esta publicación también puede obtener información detallada sobre cómo configurar definiciones de recursos XA.

Utilización de Oracle

Si desea utilizar Oracle en transacciones coordinadas, siga las instrucciones generales que se proporcionan en el apartado referente a la configuración de Oracle en la publicación WebSphere MQ Administración del sistema y utilícelas junto con las instrucciones que se facilitan aquí. En especial, debe proporcionar un enlace simbólico a la biblioteca de cliente Oracle de 32 bits libclntsh de /usr/lib.

  1. Asegúrese de que el ID de usuario que se utiliza para acceder a la base de datos y que se especifica en XAOpenString tenga los privilegios Oracle necesarios para acceder a la vista DBA_PENDING_TRANSACTIONS. Puede otorgar el acceso necesario utilizando el mandato SQLPLUS de Oracle:
    	grant select on DBA_PENDING_TRANSACTIONS to <userid>;
  2. Utilice el archivo de conmutación que suministra WebSphere Business Integration Message Broker. Cuando añada la información de configuración XAResourceManager para Oracle, especifique:
    • UKor8dtc18.so como archivo de conmutación en AIX y Solaris
    • libSwitchOracle.sl como archivo de conmutación en HP-UX
    • UKor8dtc18.dll como archivo de conmutación en Windows

En los ejemplos siguientes se muestra lo que se debe incluir en la sección XAResourceManager del archivo qm.ini en sistemas UNIX y la información equivalente para Windows:

  • En AIX:
    XAResourceManager:
    Name=Oracle8
    SwitchFile=/usr/opt/wmqi/merant/lib/UKor8dtc18.so
    XAOpenString=ORACLE_XA+SQLNET=myserver+ACC=P/scott/tiger+sestm=0+
        threads=TRUE+DB=ORACLEDB
    XACloseString=
    ThreadOfControl=THREAD
  • En HP-UX:
    XAResourceManager:
    Name=Oracle8
    SwitchFile=/opt/wmqi/merant/lib/libSwitchOracle.sl
    XAOpenString=ORACLE_XA+SQLNET=myserver+ACC=P/scott/tiger+sestm=0+
        threads=TRUE+DB=ORACLEDB
    XACloseString=
    ThreadOfControl=THREAD

    Debe ejecutar el mandato siguiente (incluido el punto inicial y el espacio que hay detrás) antes de iniciar el gestor de colas configurado del modo siguiente:

    . /opt/wmqi/sample/profiles/profile.hpux
  • En Solaris:
    XAResourceManager:  
    Name=Oracle8
    SwitchFile=/opt/wmqi/merant/lib/UKor8dtc18.so
    XAOpenString=ORACLE_XA+SQLNET=myserver+ACC=P/scott/tiger+sestm=0+
        threads=TRUE+DB=ORACLEDB
    XACloseString=
    ThreadOfControl=THREAD
  • En Windows, establezca los valores siguientes en la página Recursos del diálogo de propiedades para el gestor de colas WebSphere MQ (al que se puede acceder desde WebSphere MQ Servicios). En este ejemplo se da por supuesto que se ha instalado WebSphere Business Integration Message Broker en el directorio C:\WMQI:
    SwitchFile: C:\WMQI\BIN\UKor8dtc18.dll
    XAOpenString: ORACLE_XA+SQLNET=myserver+ACC=P/scott/tiger+sestm=0+
        threads=TRUE+DB=ORACLEDB
    ThreadOfControl: THREAD

Utilización de Sybase

Si desea utilizar Sybase en transacciones coordinadas, siga las instrucciones generales que se proporcionan en el apartado referente a la configuración de Sybase en la publicación WebSphere MQ Administración del sistema y utilícelas junto con las instrucciones que se proporcionan aquí. WebSphere Business Integration Message Broker sólo ofrece soporte para Sybase Versión 12.

  1. Defina cada DSN (nombre del origen de datos) de ODBC como LRM (gestor de recursos lógico) en el archivo de configuración XA de Sybase $SYBASE/OCS-12_5/xa_config.
  2. Asegúrese de que el IDUsuarioOrigenDatos que se ha especificado al crear el intermediario es un ID de usuario al que se ha otorgado la función dtm_tm_role de Sybase.
  3. Utilice el archivo de conmutación que suministra WebSphere Business Integration Message Broker. Cuando añada la información de configuración XAResourceManager para Sybase, especifique:
    • UKase18.so como archivo de conmutación en AIX y Solaris
    • libSwitchSybase.sl como archivo de conmutación en HP-UX
    • UKase18.dll como archivo de conmutación en Windows
  4. Especifique el nombre DSN de ODBC de la base de datos en el parámetro -N de XAOpenString y la dirección de red de la base de datos en el parámetro -A.

En los ejemplos siguientes se muestra lo que se debe incluir en la sección XAResourceManager del archivo qm.ini en sistemas UNIX y la información equivalente en Windows. En cada uno de los ejemplos, uid representa el inicio de sesión de usuario y pwd la contraseña del ID de usuario.

  • En AIX:
    XAResourceManager:
        Name=SYBASEXA
        SwitchFile=/usr/opt/wmqi/merant/lib/UKase18.so
        XAOpenString=-NSYBASEDB -A10.30.14.72,5000 -WWinsock -Uuid -Ppwd -K2
        XACloseString=-NSYBASEDB -A10.30.14.72,5000 -WWinsock -Uuid -Ppwd -K2
        ThreadOfControl=THREAD
  • En HP-UX:
    XAResourceManager:
        Name=SYBASEXA
        SwitchFile=/opt/wmqi/merant/lib/libSwitchSybase.sl
        XAOpenString=-NSYBASEDB -A10.30.14.72,5000 -WWinsock -Uuid -Ppwd -K2
        XACloseString=-NSYBASEDB -A10.30.14.72,5000 -WWinsock -Uuid -Ppwd -K2
        ThreadOfControl=THREAD

    Debe ejecutar el mandato siguiente (incluido el punto inicial y el espacio que hay detrás) antes de iniciar el gestor de colas configurado del modo siguiente:

    . /opt/wmqi/sample/profiles/profile.hpux
  • En Solaris:
    XAResourceManager:
        Name=SYBASEXA
        SwitchFile=/opt/wmqi/merant/lib/UKase18.so
        XAOpenString=-NSYBASEDB -A10.30.14.72,5000 -WWinsock -Uuid -Ppwd -K2
        XACloseString=-NSYBASEDB -A10.30.14.72,5000 -WWinsock -Uuid -Ppwd -K2
        ThreadOfControl=THREAD
  • En Windows, establezca los valores siguientes en la página Recursos del diálogo de propiedades para el gestor de colas WebSphere MQ (al que se puede acceder desde WebSphere MQ Servicios). En este ejemplo se da por supuesto que se ha instalado WebSphere Business Integration Message Broker en el directorio C:\WMQI:
    SwitchFile: C:\WMQI\BIN\UKase18.dll
    XAOpenString: -NSYBASEDB -A10.30.14.72,5000 -WWinsock -Uuid -Ppwd -K2
    XACloseString: -NSYBASEDB -A10.30.14.72,5000 -WWinsock -Uuid -Ppwd -K2
    ThreadOfControl: THREAD

Conceptos relacionados
Flujos de mensajes

Tareas relacionadas
Acceso a bases de datos desde flujos de mensajes
Configuración de flujos de mensajes coordinados
Configuración de nodos de flujos de mensajes para flujos de mensajes coordinados
Configuración de WebSphere MQ y RRS para flujos de mensajes coordinados

Referencia relacionada
Bases de datos soportadas
Nodos incorporados

página Web de la biblioteca de WebSphere MQ