Crear una entrada de proveedor JDBC para una base de datos DB2

Los nodos DatabaseRoute y DatabaseRetrieve construyen sus conexiones JDBC utilizando los detalles de conexión que se almacenan en el registro del intermediario, que contienen los valores estándar de proveedor JDBC DBMS. Utilice las siguientes instrucciones para crear una entrada de proveedor JDBC si está utilizando una base de datos DB2 Universal Database.

Puede utilizar el mandato mqsicreateconfigurableservice, que se proporciona en el script siguiente, para crear una entrada nueva de proveedor JDBC denominada SIMPLERROUTEDB. El campo de propiedad Nombre de origen de datos de los nodos de base de datos que se utilizan en el ejemplo hace referencia a esta entrada. Las siguientes instrucciones también configuran la entrada de proveedor JDBC con un identificador de usuario y contraseña para que el intermediario la utilice al acceder a la base de datos.

  1. Crear una entrada de proveedor JDBC para la base de datos:

    1. Inicie el intermediario y asegúrese de que se ha desplegado un grupo de ejecución en el intermediario. Por ejemplo, para iniciar un intermediario, abra una ventana de la consola de mandatos en la que pueda ejecutar mandatos de WebSphere Message Broker y escriba el mandato siguiente:
      mqsistart MB8BROKER
    2. Abra un documento nuevo en un editor de textos, copie y pegue el script siguiente, que crea la entrada de proveedor JDBC SIMPLERROUTEDB para proporcionar acceso a la base de datos JDBC para el ejemplo Direccionamiento de base de datos simplificado, en el documento. Debe sustituir los marcadores siguientes en el script por valores correspondientes a su entorno.
      • <JARS URL> 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. Las ubicaciones siguientes son las ubicaciones predeterminadas:
        • En Windows: C:\Program Files\IBM\SQLLIB\java
        • En Linux: sqllib/java, por ejemplo, /home/db2inst1/sqllib/java/
      • <PORT NUMBER> El número de puerto en el que está a la escucha el servidor de bases de datos. El DB2 predeterminado es 50000.
      • <SERVER NAME> El nombre del host en el que se ejecuta DB2; por ejemplo, localhost.
      mqsideleteconfigurableservice MB8BROKER -c JDBCProviders -o SIMPLERROUTEDB
      mqsicreateconfigurableservice MB8BROKER -c JDBCProviders -o SIMPLERROUTEDB
      -n connectionUrlFormat,databaseName,description,jarsURL,portNumber,serverName,
      type4DatasourceClassName,type4DriverClassName
      -v "jdbc:db2://[serverName]:[portNumber]/[databaseName]:user=[user];password=[password];,
      SROUTEDB,Simplified Database Routing Sample Database,<URL JARS>,<NÚMERO PUERTO>,
      <NOMBRE SERVIDOR>,com.ibm.db2.jcc.DB2DataSource,com.ibm.db2.jcc.DB2Driver" 
      
      Nota: el script anterior está formado sólo por dos mandatos y cada uno de ellos debe empezar y terminar en una línea. Por consiguiente, al copiar y pegar el script, todo el script debe ocupar solamente dos líneas, como se muestra a continuación:
      mqsideleteconfigurableservice MB8BROKER -c JDBCProviders -o SIMPLERROUTEDB
      
      mqsicreateconfigurableservice MB8BROKER -c JDBCProviders -o SIMPLERROUTEDB -n connectionUrlFormat,databaseName,description,jarsURL,portNumber,serverName,type4DatasourceClassName,type4DriverClassName -v "jdbc:db2://[serverName]:[portNumber]/[databaseName]:user=[user];password=[password];,SROUTEDB,Simplified Database Routing Sample Database,<JARS URL>,<PORT NUMBER>,<SERVER NAME>,com.ibm.db2.jcc.DB2DataSource,com.ibm.db2.jcc.DB2Driver"
      
      Si el script no se ha copiado y pegado como dos líneas, los intentos de ejecutarlo darán lugar a un error de tipo "-n no ser reconoce como programa válido....". Esto es así porque el sistema identifica erróneamente cada nueva línea como el inicio de un nuevo mandato.

      Dado que el flujo contiene un nodo DatabaseRetrieve, utilice la clase com.ibm.db2.jcc.DB2DataSource en lugar de com.ibm.db2.jcc.DB2XADataSource.

    3. Guarde el archivo. En las siguientes instrucciones se presupone que ha llamado al archivo simplifieddbrouting.bat.
    4. En la consola de mandatos, navegue a la carpeta que contiene simplifieddbrouting.bat y entre el siguiente mandato para ejecutar el script:
      simplifieddbrouting.bat

      Al ejecutar el script, éste realiza las siguientes tareas:

      • Suprime cualquier entrada de Proveedor JDBC existente llamada SIMPLERROUTEDB.
      • Crea una nueva entrada de Proveedor JDBC llamada SIMPLERROUTEDB para que la utilice el ejemplo de Direccionamiento de base de datos simplificado. El destino de los valores predeterminados es DB2 DBMS mediante el uso de la clase de controlador JDBC de tipo cuatro de este proveedor.
    5. Espere a que el script termine de ejecutarse. Si ejecuta el script por primera vez, aparece el siguiente mensaje:
      BIP8984W: El nombre de objeto de servicio configurable 'JDBCProviders : SIMPLERROUTEDB' no se ha encontrado.
      El usuario ha intentado suprimir o modificar un nombre de objeto de servicio configurable que no existe.
      Compruebe los nombres de los servicios configurables existentes utilizando
      el mandato mqsireportproperties. 
      Luego modifique el nombre de objeto de
      recurso externo y emita de nuevo el mandato.
      
      BIP2087E: El intermediario MB8BROKER no ha podido procesar el mensaje de configuración interna.
      El mensaje de configuración interna completo no ha podido procesarse satisfactoriamente.
      El mensaje de configuración interna no ha podido procesarse, utilice los
      mensaje posteriores a éste para determinar las causas del error.
      
      BIP8036E: Se ha recibido una respuesta negativa.
      Este mandato envía un mensaje de configuración interna al intermediario,
      la respuesta recibida indicaba que el mensaje de configuración interna no
      fue satisfactorio.
      Compruebe que el transporte WebSphere MQ está disponible. Consulte las anotaciones del sistema para obtener más información.
      
      Ignore este mensaje. El mensaje se visualiza porque el script intenta suprimir una entrada de registro de proveedor JDBC existente llamada SIMPLERROUTEDB antes de volver a crear la entrada. Si es la primera vez que ejecuta el script, la entrada no se encuentra en el registro.
    6. Puede entrar el siguiente mandato para comprobar que el registro de intermediario predeterminado se ha actualizado correctamente con la entrada de proveedor JDBC SIMPLERROUTEDB de ejemplo:
      mqsireportproperties MB8BROKER -o SIMPLERROUTEDB -c JDBCProviders -r

      Si la actualización se ha realizado satisfactoriamente, la salida de propiedades presentada por el mandato coincide con el ejemplo siguiente:

      JDBCProviders
        SIMPLERROUTEDB
          connectionUrlFormat='jdbc:db2://[NombreServidor]:[NúmeroPuerto]/[NombreBaseDatos]:user=[Usuario];password=[Contraseña];'
          connectionUrlFormatAttr1=''
          connectionUrlFormatAttr2=''
          connectionUrlFormatAttr3=''
          connectionUrlFormatAttr4=''
          connectionUrlFormatAttr5=''
          databaseName='SROUTEDB'
          databaseType='default_Database_Type'
          databaseVersion='default_Database_Version'
          description='Simplified Database Routing Sample Database'
          environmentParms='default_none'
          jarsURL='C:\Program Files\IBM\SQLLIB\java'
          portNumber='50000'
          securityIdentity='default_User@default_Server'
          serverName='localhost'
          type4DatasourceClassName='com.ibm.db2.jcc.DB2DataSource'
          type4DriverClassName='com.ibm.db2.jcc.DB2Driver'
      
      BIP8071I: El mandato ha finalizado correctamente.
  2. Para especificar el identificador de usuario y la contraseña que se van a asociar al proveedor JDBC SIMPLERROUTEDB, utilice los mandatos mqsisetdbparms y mqsichangeproperties. Este identificador de usuario debe ser el mismo identificador de usuario que utilizó cuando creó la base de datos.

    1. Escriba el siguiente mandato para asociar el identificador de usuario y la contraseña a una identidad de seguridad:
      mqsisetdbparms MB8BROKER -n jdbc::mySecurityIdentity -u <ID_usuario> -p <contraseña>
    2. Escriba el siguiente mandato para asociar la identidad de seguridad, que ha definido en el paso anterior, con la propiedadsecurityIdentity del proveedor JDBC SIMPLERROUTEDB:
      mqsichangeproperties MB8BROKER -c JDBCProviders -o SIMPLERROUTEDB -n securityIdentity -v mySecurityIdentity
    3. Debe detener y reiniciar el intermediario para que los cambios realizados en el proveedor JDBC estén disponibles para un flujo de mensajes que ya esté desplegado. Si ya ha desplegado el ejemplo, detenga y reinicie el intermediario.

    Para obtener más información, consulte Habilitación de conexiones JDBC en las bases de datos en la documentación de WebSphere Message Broker y la sección "Cómo hacer que el servicio proveedor JDBC esté disponible para el nodo DatabaseRoute" en Nodo DatabaseRoute de la documentación de WebSphere Message Broker.

Volver a Configurar DB2

Volver a Configurar la base de datos

Volver a la página inicial del ejemplo