WebSphere Message Broker, Versión 8.0.0.5 Sistemas operativos: AIX, HP-Itanium, Linux, Solaris, Windows, z/OS

Consulte la información sobre la última versión del producto en IBM Integration Bus, Versión 9.0

Configuración de un proveedor JDBC para conexiones de tipo 4

Utilice el mandato mqsicreateconfigurableservice o mqsichangeproperties para configurar un servicio del proveedor JDBC.

Antes de empezar:
Cuando incluye un nodo definido por el usuario DatabaseRetrieve, DatabaseRoute, JavaCompute, Mapping o Java™ en un flujo de mensajes e interactúa con una base de datos de dicho nodo, el intermediario debe establecer una conexión con la base de datos para satisfacer las operaciones realizadas por el nodo. Debe definir un servicio configurable JDBCProvider para proporcionar al intermediario la información que necesita para completar la conexión.
Importante: Al denominar el servicio JDBCProvider, tenga en cuenta los siguientes requisitos:
  • Si desea utilizar el servicio JDBCProvider con un nodo JavaCompute o con un nodo definido por el usuario Java, el nombre del servicio JDBCProvider debe coincidir con el parámetro datasourceName en la llamada de API getJDBCType4Connection() del nodo.
  • Si desea utilizar el servicio JDBCProvider con un nodo Mapping, el nombre del servicio JDBCProvider debe coincidir con el nombre de base de datos utilizada por las transformaciones de base de datos en la correlación de datos gráfica. Para cada transformación de base de datos, el nombre de base de datos lo determina la definición de base de datos (archivo .dbm) en el proyecto de diseño de datos que se ha utilizado para crear la correlación.
  • Si desea utilizar el servicio JDBCProvider con un nodo DatabaseRetrieve o con un nodo DatabaseRoute, el nombre del servicio JDBCProvider debe coincidir con el valor de la propiedad Nombre de origen de datos del nodo.

Un servicio configurable JDBCProvider sólo soporta conexiones a una base de datos; debe crear un servicio para cada base de datos a las que se conectan los nodos o las aplicaciones Java.

Para configurar un proveedor JDBC para conexiones de tipo 4 utilizando WebSphere Message Broker Explorer, consulte Creación de un nuevo servicio configurable.

Para configurar un proveedor JDBC para conexiones de tipo 4 utilizando los mandatos mqsicreateconfigurableservice o mqsichangeproperties, realice los pasos siguientes:

  1. Identifique el tipo de base de datos para la que requiere un servicio JDBCProvider.

    En Bases de datos soportadas se muestran los controladores JDBC y las bases de datos; el soporte para transacciones (XA) coordinadas globalmente está restringido en algunas plataformas y para ciertas bases de datos.

  2. Ejecute el mandato mqsireportproperties para ver la lista de servicios JDBCProvider disponibles. Sustituya el nombre del intermediario en lugar de nombre_intermediario.
    mqsireportproperties nombre_intermediario -c JDBCProviders -a -o AllReportableEntityNames

    La respuesta del mandato lista todos los servicios configurables JDBCProvider que se hayan definido. Si no ha creado sus propias definiciones, de forma predeterminada se muestra la siguiente lista de servicios proporcionados:

    • DB2
    • Informix
    • Informix_With_Date_Format
    • Microsoft_SQL_Server
    • Oracle
    • Sybase_JConnect6_05

    Si se conecta a una base de datos Informix:

    • Utilice Informix_With_Date_Format para la compatibilidad con aplicaciones cliente que dependen del atributo de conexión de formato de fecha que se ha utilizado en versiones anteriores de servidores Informix.
    • Utilice Informix para las aplicaciones cliente que no dependan del atributo de formato de fecha.
  3. Vea el contenido de la definición de servicio JDBCProvider relevante. Por ejemplo, ejecute el siguiente mandato para visualizar la definición de Oracle suministrada:
    mqsireportproperties nombre_intermediario -c JDBCProviders -o Oracle -r

    La respuesta del mandato devuelve una lista de todas las propiedades de la definición de Oracle. Si no ha cambiado esta definición, las propiedades se establecen en los valores iniciales, algunos de los cuales deben cambiar para crear una definición viable. Por ejemplo, la propiedad databaseName se establece en default_Database_Name y debe cambiarla para identificar la base de datos a la que desea conectarse.

    Un servicio JDBCProvider contiene las propiedades siguientes:

    • connectionUrlFormat. Patrón que representa la definición del URL de conexión, que es específico de un tipo de base de datos en particular. Por ejemplo, el patrón para DB2 se define con el siguiente contenido:
      jdbc:db2://[nombreServidor]:[númeroPuerto]/[nombreBaseDatos]:user=[usuario];password=[contraseña];

      El intermediario utiliza y completa el patrón durante la ejecución, cuando se conecta con la base de datos. Los valores entre corchetes, por ejemplo [nombreServidor], los sustituye el intermediario en el patrón utilizando los valores que ha especificado en los mandatos mqsicreateconfigurableservice, mqsichangeproperties o mqsisetdbparms.

      El intermediario utiliza los valores y el orden de preferencia siguientes para sustituir el ID de usuario y contraseña en el patrón:

      1. Primero, en todas la plataformas: El ID de usuario y contraseña que ha establecido para la base de datos específica, utilizando el mandato mqsisetdbparms y especificando la base de datos en el parámetro -n.
      2. Segundo, en todas las plataformas: El ID de usuario y contraseña que ha establecido para todas las demás bases de datos, utilizando el mandato mqsisetdbparms y especificando jdbc::JDBC en el parámetro -n.
      3. Tercero, los valores son específicos de la plataforma:
        1. Windows platformEn Windows: El ID y contraseña de servicio de intermediario que ha especificado en el mandato mqsicreatebroker.
        2. Linux platformUNIX platformEn Linux y UNIX: El ID de usuario mqsiUser y contraseña ******** (estos valores son fijos).
        3. z/OS platformEn z/OS: El ID de usuario "" y contraseña "".

      Si está utilizando uno de los servicios JDBCProvider proporcionados, no utilice el mandato mqsichangeproperties para cambiar el propio patrón; los cambios realizados en el patrón pueden producir resultados imprevisibles.

      Si utiliza el mandato mqsicreateconfigurableservice para definir su propio servicio JDBCProvider, utilice el mandato mqsireportproperties para comprobar que el contenido de la serie connectionUrlFormat coincide exactamente con el proveedor suministrado predeterminado para el tipo de base de datos que se está utilizando.

      Además, si está trabajando en z/OS y se están utilizando los archivos JCL BIPCRCS y BIPCHPR para definir su servicio JDBCProvider, asegúrese de que su emulador 3270 está configurado para utilizar la misma página de códigos que el intermediario en el que se está ejecutando. Si las páginas de código no coinciden, es posible que el patrón de serie connectionUrlFormat que defina no lo reconozca correctamente el intermediario.

    • connectionUrlFormat Attr1-5. Si el patrón de URL definido para una base de datos contiene propiedades de origen de datos JDBC que no son estándar, como un identificador de servidor, especifique estas propiedades además de los atributos estándares utilizando uno de los cinco atributos de URL de conexión de propósito general. Por ejemplo:
      • Si connectionURLFormat = jdbc:oracle:thin:[usuario]/[contraseña]@[nombreServidor]:[nombrePuerto]:[connectionUrlFormatAttr1], connectionUrlFormatAttr1 debe contener un identificador de servidor Oracle, que debe suministrarse definiendo el valor para la propiedad connectionUrlFormatAttr1 en el mandato mqsicreateconfigurableservice o mqsichangeproperties. Después, el intermediario puede sustituir todos los valores necesarios en el patrón requerido.
      • Si connectionURLFormat = jdbc:informix-sqli://[nombreServidor]:[númeroPuerto]/[nombreBaseDatos]:informixserver=[connectionUrlFormatAttr1]; user=[usuario];password=[contraseña], connectionUrlFormatAttr1 debe contener el nombre de la instancia de Informix del servidor (especificada normalmente mediante la variable de entorno INFORMIXSERVER). Este valor es sensible a las mayúsculas y minúsculas.
    • databaseName. Nombre de la base de datos para la que la entrada del origen de datos habilita las conexiones; por ejemplo, empleados.
    • databaseSchemaNames. De manera opcional altere temporalmente el nombre de esquema de base de datos utilizado en las sentencias SQL creadas por los nodos de flujo de mensajes. Esta propiedad sólo la utiliza el nodo Mapping y sólo cuando se llama a una correlación de datos gráfica que contiene una transformación de datos. Para obtener más información, consulte Servicio configurable JDBCProviders.
    • databaseType. El tipo de base de datos; por ejemplo, DB2.
    • databaseVersion. La versión de la base de datos; por ejemplo, 9.1.
    • description. Propiedad opcional que describe la definición de origen de datos.
    • environmentParms. Sólo para DB2 y Informix. Una propiedad opcional que especifica una lista de propiedades de origen de datos con el formato name=value, separadas cada una por un punto y coma.
    • jarsURL. La vía de acceso al directorio local, en el sistema en el que se ejecuta el intermediario, donde se encuentra el archivo JAR que contiene la clase de controlador de tipo 4.

      Además, se puede utilizar un disco de red de área de almacenamiento para la vía de acceso de directorio, pero no se puede utilizar una unidad de red correlacionada en un sistema remoto.

    • maxConnectionPoolSize. Opcionalmente, establezca esta propiedad para crear una agrupación de conexiones JDBC. Para obtener más información, consulte Utilización de una agrupación de conexiones JDBC para gestionar recursos de base de datos utilizados por un grupo de ejecución.
    • portNumber. El número de puerto en el que el servidor de bases de datos está a la escucha; por ejemplo, 50000.
    • securityIdentity. Una clave de seguridad exclusiva para realizar una segunda búsqueda de registro de intermediario para encontrar una entrada bajo las entradas de seguridad del intermediario, que almacenan la contraseña cifrada para el usuario en el sistema host asociado; por ejemplo, miIdentidadSeguridad.

      Cree una identidad de seguridad utilizando el mandato mqsisetdbparms, tal como se describe en Seguridad de una conexión JDBC tipo 4. El valor de securityIdentity (por ejemplo, miIdentidadSeguridad) debe coincidir con el valor que se especifique después del prefijo jdbc:: para el parámetro -n de dicho mandato.

      La identidad de seguridad proporciona un par de valores de ID de usuario y contraseña, que se utilizan para acceder al origen de datos especificado definido para una entrada de servicio JDBCProvider determinada. Esta propiedad se ignora si el URL de conexión no contiene los dos, un ID de usuario y una contraseña, que requieren que se sustituyan valores de propiedad para esas inserciones.

      Los valores predeterminados, que se pueden establecer especificando jdbc::JDBC como valor de ResourceName en el mandato mqsisetdbparms, se utilizan en las siguientes condiciones:

      • Si la securityIdentity está en blanco o si sigue teniendo el valor predeterminado default_User@default_Server, pero se requiere la identidad para el patrón de conexión URL.
      • Si ha entrado una clave de identidad de seguridad exclusiva válida, pero no se puede encontrar bajo la clave DSN.
    • serverName. Nombre del servidor; por ejemplo, host1.
    • type4DatasourceClassName. Nombre de clase de origen de datos JDBC que se utiliza para establecer una conexión de tipo 4 con una base de datos remota y para el soporte de transacción coordinado. Por ejemplo, especifique com.ibm.db2.jcc.DB2XADataSource para DB2 o especifique oracle.jdbc.xa.client.OracleXADataSource para Oracle. Debe especificar el nombre de clase XA al utilizar la llamada de API getJDBCType4Connection() para transacciones coordinadas. Si el servidor de bases de datos no soporta transacciones XA o no desea utilizar el protocolo XA, esta propiedad es opcional y debe establecer la propiedad jdbcProviderXASupport en false.
    • type4DriverClassName. Nombre de clase de controlador JDBC de tipo 4 que se utiliza para establecer una conexión. Por ejemplo, especifique com.ibm.db2.jcc.DB2Driver para DB2 o especifique oracle.jdbc.OracleDriver para Oracle.
    • jdbcProviderXASupport. Una propiedad opcional que controla si el intermediario se conecta a un servidor de bases de datos utilizando el protocolo XA. De forma predeterminada, esta propiedad se establece en true. Si el servidor de bases de datos no está habilitado para el soporte XA o no se necesitan transacciones coordinadas, establezca el valor en false. En tal caso se utiliza el controlador de tipo 4 especificado utilizando la propiedad type4DriverClassName, en lugar del origen de datos de tipo 4 especificado en la propiedad type4DatasourceClassName.
  4. Si desea utilizar la definición proporcionada, ejecute el mandato mqsichangeproperties para sustituir los valores predeterminados por los valores específicos de la base de datos y el entorno. Si tiene alguna duda sobre los valores necesarios, póngase en contacto con el administrador de la base de datos o compruebe la documentación que se suministra con la base de datos elegida. Algunos valores dependen de cómo y dónde haya instalado el producto de base de datos; por ejemplo, la propiedad jarsURL identifica la ubicación de los archivos JAR suministrados e instalados por el proveedor de base de datos.
  5. Si desea crear un nuevo servicio configurable, quizás porque desea retener el servicio suministrado como una plantilla para futuras definiciones, ejecute el mandato mqsicreateconfigurableservice para crear la definición.
    mqsicreateconfigurableservice nombre_intermediario -c JDBCProviders -o nombre_proveedor 
    -n lista de propiedades -v lista de valores

    Entre el mandato en una sola línea; el ejemplo se ha dividido para mejorar la legibilidad.

    Especifique todas las propiedades necesarias para el proveedor de base de datos y que haya elegido. Para especificar una lista de propiedades y valores, separe los elementos después de cada distintivo por una coma. Por ejemplo, -n nombreBaseDatos, tipoBaseDatos -v EmpleadoDB,DB2. Si no especifica todas las propiedades en el mandato mqsicreateconfigurableservice, puede actualizarlas más adelante con el mandato mqsichangeproperties.

  6. Cuando haya configurado o modificado el servicio JDBCProvider, debe volver a cargar los grupos de ejecución que actualmente utilizan o piensan utilizar el servicio JDBCProvider.
A continuación: Si es necesario, configure la seguridad para la conexión JDBC y/o configure el entorno para incluir el servicio JDBCProvider en transacciones coordinadas globalmente.
Avisos | Marcas registradas | Descargas | Biblioteca | Soporte | Comentarios

Copyright IBM Corporation 1999, 2014Copyright IBM Corporation 1999, 2014.

        
        Última actualización:
        
        Última actualización: 2015-02-28 16:59:49


Tema de tareaTema de tarea | Versión 8.0.0.5 | ah61310_