Acceder a bases de datos desde ESQL

Configure el servidor de integración de y la base de datos para dar soporte a las conexiones de los flujos de mensajes.

Antes de empezar

Acerca de esta tarea

Debe configurar el servidor de integración de y las bases de datos para dar soporte a las operaciones de lectura, escritura y actualización en los flujos de mensajes.

Para obtener detalles de las sentencias y funciones ESQL que puede utilizar para acceder a bases de datos, consulte Interacción con bases de datos utilizando ESQL.

Procedimiento

  • Establezca la propiedad Origen de datos de cada nodo de flujo de mensajes en el nombre (es decir, el DSN de ODBC ) de la base de datos a la que desea acceder.

Puede acceder a más de una base de datos mediante la cláusula FROM de su sentencia ESQL, pero todas las bases de datos a las que se accede desde el mismo nodo de flujo de mensajes deben tener las mismas funciones ODBC que la base de datos especificada en la propiedad Origen de datos de dicho nodo. Este requisito siempre se cumple si las bases de datos son del mismo tipo (por ejemplo, Db2® o Oracle ), en el mismo nivel de versión (por ejemplo, la versión 9.1 ) y en la misma plataforma. Es posible que haya otras combinaciones de bases de datos que tengan las mismas funciones ODBC. Si un nodo de flujo de mensajes intenta acceder a una base de datos que no tenga las mismas funciones ODBC que la base de datos especificada en la propiedad Origen de datos de ese nodo de flujo de mensajes, el nodo de integración generará un mensaje de error.

  • Configure el servidor de integración de para poder conectarse a la base de datos:
    1. Cree conexiones de origen de datos ODBC en el sistema en el que se ejecuta el servidor de integración de .
    2. Defina un ID de usuario y una contraseña que utilizará el servidor de integración de para conectarse a la base de datos utilizando cualquiera de las opciones siguientes:
      • Para establecer un ID de usuario y una contraseña para una base de datos determinada, utilice el mandato mqsisetdbparms .
      • Para definir valores predeterminados para el ID de usuario y la contraseña para el servidor de integración de para utilizarlos para todos los nombres de origen de datos para los que no ha establecido valores específicos, utilice el mandato mqsisetdbparms para especificar dsn::DSN.
      • Plataforma WindowsEn Windows, se está utilizando la autenticación integrada de Windows para el acceso de base de datos de SQL Server, el ID de usuario de servicio bajo el cual se ejecuta el proceso de intermediario es utilizado por Windows para acceder a la base de datos de SQL Server. Es decir, ignora las credenciales de ID de usuario y contraseña que se han establecido utilizando el mandato mqsisetdbparms
      • Si no ha definido ningún ID de usuario ni contraseña predeterminados:
        • En Windows, el ID de usuario y la contraseña de servicio se utilizan para conectarse a la base de datos.
        • En otras plataformas, la conexión a la base de datos falla.
      • Si ha establecido un ID de usuario y una contraseña específicos y desea comprobar cuáles son los valores, utilice el mandato mqsireportdbparms .
  • Configure la autorización para que el ID de usuario acceda a la base de datos utilizando los recursos de administración que proporciona el proveedor de bases de datos.
    Si no lo hace, el servidor de integración genera un error cuando se ejecuta el flujo de mensajes.

Qué hacer a continuación

Nota: Con una sola cláusula SELECT FROM , solo puede acceder a las tablas que existen en una sola base de datos.

Si accede a columnas de la base de datos que tengan nombres compuestos por caracteres numéricos solamente, deberá escribir los nombres entre comillas; por ejemplo, "0001". Debido a esta restricción, no puede utilizar una sentencia SELECT * , que devuelve los nombres sin comillas; por lo tanto, los nombres no son válidos y el servidor de integración genera una excepción.