ESQL tiene varias sentencias y
funciones para acceder a bases de datos:
Puede acceder a bases de datos de
usuario desde nodos Compute, Database y Filter.
Nota: No hay ninguna
diferencia entre las posibilidades de acceso a base de datos en estos
nodos; sus nombres son, en parte históricos y en parte basados en el uso
típico.
Puede utilizar los datos de las bases de datos para
actualizar o crear mensajes; o utilizar los datos del mensaje para
actualizar o crear datos de las bases de datos.
Observe que:
- Cualquier nodo que utilice cualquier sentencia o función de base de
datos ESQL debe tener el atributo de
"origen de datos" establecido en el nombre
(es decir, el DSN ODBC) de una base de datos. La base de datos debe
estar accesible, operativa, y permitir que el intermediario pueda
conectarse a ella.
- Todas las bases de datos a las que se accede desde el mismo nodo deben
tener la mismo funcionalidad OBDC que la base de datos
especificada en el atributo origen de datos del nodo.
Este requisito siempre se satisface si las bases de datos son del mismo
tipo (por ejemplo, DB2 u Oracle), están al mismo nivel (por
ejemplo, release 8.1 CSD3) y en la misma plataforma. Otras
combinaciones de bases de datos pueden tener o no la misma funcionalidad OBDC. Si
un nodo intenta acceder a una base de datos que no tiene la misma
funcionalidad OBDC que la base de datos especificada en el atributo
origen de datos del nodo, el intermediario emite un
mensaje de error.
- Todas las tablas a las que hace referencia en una sola cláusula
SELECT FROM deben estar en la misma base de datos.
Debe asegurarse de que se han creado
orígenes de datos ODBC adecuados en el sistema en el que se está
ejecutando el intermediario. Si ha utilizado el mandato
mqsisetdbparms para
establecer un ID de usuario y una contraseña para una base de datos
determinada, el intermediario utiliza estos valores para conectarse a la
base de datos. Si no ha establecido un ID de usuario y una contraseña,
el intermediario utiliza el ID de usuario y la contraseña de base de datos
por omisión que ha suministrado en el mandato
mqsicreatebroker (tal
como ha modificado con cualquier mandato
mqsichangebroker
posterior).
En sistemas z/OS:
- El intermediario utiliza el ID de tarea iniciada de
intermediario para conectarse a la base de datos.
- Utilice el miembro JCL BIPSDBP en el conjunto de datos de
personalización <hlq>.SBIPPROC para realizar el
mandato mqsisetdbparms.
También debe asegurarse de que los
ID de usuario de base de datos tengan los privilegios
suficientes para realizar las operaciones que requiere su flujo.
De lo contrario, se producirán errores en tiempo de ejecución.
Se
recomienda establecer los atributos
"Generar excepción en error de base de datos" y
"Tratar los avisos como errores" en
'yes' y el atributo "Transacción"
en 'automatic', porque así se obtiene la máxima flexibilidad. A
continuación, puede utilizar las sentencias COMMIT y ROLLBACK para
controlar las transacciones y manejadores para gestionar los errores.