Los transportes de base de datos permiten mover datos de una base de datos a una
interconexión. Para utilizar el transporte de base de datos, se especifica un transporte de base de datos, utilizando
un URI (identificador de recursos universal).
Nota: El transporte de base de datos no está soportado
en IBM DB2 en z/OS.
El
formato para el transporte de base de datos es:
"type://nombre_usuario:contraseña@base_datos/?table=nombre_tabla&order=tabla&timeout=segundos&concurrency=N"
Nota: Puesto
que algunos de los caracteres utilizados en este transporte son caracteres especiales para entornos de
línea de mandatos (específicamente los caracteres ? y &), si se especifica en una línea de
mandatos, debe especificar todo el transporte entre comillas.
Por ejemplo: pipeline -d -t "db2://up@db/?table=tn_source&order=table"
- tipo://
- Parámetro necesario que indica que el método de transporte es una base de datos y especifica
el tipo de base de datos.
- Los valores válidos son:
- oci:// para bases de datos Oracle
- mssql:// para bases de datos Microsoft SQL
- db2:// para bases de datos DB2
- nombre_usuario:contraseña@nombre_base_datos
- Este parámetro es realmente varios: nombre_usuario:contraseña y @nombre_base_datos.
- nombre_usuario:contraseña: parámetro que especifica el
nombre de inicio de sesión del usuario y la contraseña correspondiente para la base de datos nombrada. Si el sistema no está configurado para utilizar la autenticación fiable de base de datos o del
sistema operativo, debe especificar estos parámetros con el parámetro de nombre de base de datos.
- @nombre_base_datos: parámetro necesario que especifica el nombre de la
base de datos desde la que se transportan datos. Si el sistema está configurado para utilizar la autenticación fiable
de base de datos, sólo es necesario que especifique el parámetro de nombre de base de datos.
- Ejemplos por base de datos:
- Bases de datos Oracle configuradas para utilizar la autenticación fiable: :@relres_sid (no es
necesario especificar los parámetros nombre_usuario:contraseña).
- Bases de datos Oracle no configuradas para utilizar la autenticación fiable: rr:passw0rd@relres_sid
- Bases de datos Microsoft SQL que utilizan conexiones fiables: @relres_dsn (no
es necesario especificar los parámetros nombre_usuario:contraseña).
- Bases de datos Microsoft SQL no configuradas para utilizar conexiones fiables: rr:passw0rd@relres
- Bases de datos DB2 configuradas para utilizar la autenticación fiable: @relres
(no es necesario especificar los parámetros nombre_usuario:contraseña).
- Bases de datos DB2 no configuradas para utilizar la autenticación fiable: rr:passw0rd@relres
- /?table=nombre_tabla
- Parámetro necesario que indica la tabla de la base de datos
(nombrada en el parámetro @nombre_base_datos) en la que se
debe leer o grabar.
- &order=nombre_tabla
- Parámetro opcional que indica el orden para recuperar y procesar los datos de la
tabla nombrada.
- Esta opción se puede utilizar cuando no hay ningún requisito de establecimiento de prioridades
en los datos que se deben cargar. En algunos sistemas de bases de datos, puede mejorar el rendimiento
cuando el orden en el que se extraen los registros de la tabla es el orden natural seleccionado
por la base de datos. La utilización de esta opción permite que la base de datos devuelva los
registros de la manera más eficaz, lo que con frecuencia es el orden en el que se han
insertado los registros.
- Para que las tablas sean compatibles con el transporte de base de datos, necesitan
ajustarse al siguiente diseño de columna:
Tabla 1. Correlación del orden de columnas en tablas de base de datos como parte
del URI de transporte de base de datosColumna |
Tipo |
Descripción/Valor |
Índice |
LOAD_SEQ |
INTEGER, NOT NULL |
Indica la prioridad del mensaje. Los valores válidos
son 0, 1, 2 y 3:- 0 indica prioridad crítica
- 1 indica prioridad alta
- 2 indica prioridad normal
- 3 indica prioridad baja
|
No es exclusivo en LOAD_SEQ, sólo si no se especifica el parámetro &order=nombre_tabla |
OWNER |
VARCHAR 256 |
La interconexión establece esta columna en un identificador exclusivo
durante el proceso para evitar que otras interconexiones dupliquen el trabajo. |
No exclusivo |
LOCK_TIME |
INTEGER 64-BIT |
Se establece para indicar el tiempo (en milisegundos epoch)
que el registro ha estado bloqueado. |
(Ninguno) |
MSG |
BLOB o VARCHAR (si es el tamaño XML máximo, siempre será más pequeño
que el tamaño de VARCHAR) |
Mensaje UMF de entrada. |
(Ninguno) |
- &schema=nombre_esquema
- Este parámetro opcional de DB2 le permite especificar el
nombre de un esquema DB2 personalizado.
Nota: El esquema DB2 personalizado no es
compatible con el generador de informes del Visualizador y la
Consola de configuración.
Si especifica un esquema DB2 personalizado, los informes del
Visualizador y la Consola de configuración no serán funcionales.
- &timeout=n
- Este parámetro opcional indica el número de segundos que la interconexión espera una
respuesta de la base de datos antes de exceder el tiempo de espera.
- Si no especifica este parámetro, el transporte intentará tres veces obtener
una respuesta antes de exceder el tiempo de espera.
- &concurrency=n
- Esta parámetro opcional permite especificar el número de registros de entrada
(un entero positivo mayor que o igual a 0) que el transporte de base de datos
extrae a la vez para el proceso de interconexión. Cuanto más alto es el número,
más registros se extraen para el proceso.
- Por ejemplo, una concurrencia de 0 indica que no se deben procesar registros. Una concurrencia
de 1 indica que se deben procesar los registros uno a uno. Si no especifica este parámetro,
el número por omisión de registros de entrada extraídos a la vez es 5,
a menos que especifique lo contrario.
- Debe coordinar este valor con el número de hebras de proceso de interconexión
generadas por el valor de concurrencia en el archivo de configuración de interconexiones
o el grupo de parámetros del sistema DEFAULT_CONCURRENCY de la Consola de configuración.
El valor de concurrencia de interconexiones determina el número de hebras de proceso de interconexión
simultáneas que empiezan cuando se inicia una interconexión. Si se ha establecido que el sistema
genere múltiples hebras de proceso de interconexión para cada interconexión iniciada,
es posible que desee incrementar este valor de concurrencia de transporte para que las hebras
de interconexión no esperen a que se procesen los registros.
Ejemplos de transportes de base de datos
db2://CCadmin:passw0rd@Customers/?table=table2
En
este ejemplo de transporte de base de datos, el sistema lee los registros de entrada de la base de datos
DB2 denominado "Customers" y la tabla denominada "table2", donde
el nombre de inicio de sesión es "CCadmin" y la contraseña correspondiente es "passw0rd".