Los datos XML que se han de cargar en una base de datos de destino deben contener identificadores para los elementos XML que los necesitan. Para generar o localizar identificadores para entidades de catálogo en el documento XML, invoque el mandato ID Resolve.
ID Resolver solamente resuelve los identificadores de una tabla primaria. Una tabla primaria es una tabla que está listada en la tabla KEYS o SUBKEYS. Si es necesario resolver identificadores para una tabla que no esté en KEYS o SUBKEYS, añada la tabla a la tabla SUBKEYS antes de ejecutar ID Resolver.
Métodos
El mandato ID Resolve le permite seleccionar el método de carga, actualización o un método combinado para procesar el archivo de entrada.
Método de carga: El método de carga para ID Resolver se utiliza para generar identificadores nuevos para los registros que se cargan en la base de datos. Con este método, se crean identificadores nuevos para los registros. El ejemplo siguiente se utiliza para generar identificadores para los datos nuevos:
![]()
![]()
![]()
![]()
![]()
idresgen -dbname db -dbuser user -dbpwd pwd -infile input.xml
-outfile output.xml -method load -customizer customizerNota: El método de carga (load) es el valor por omisión.
![]()
QWEBCOMM/RESWCSID DATABASE(NOMBRE_BASEDATOS) SCHEMA(MALL)
INSTROOT(/QIBM/UserData/WebCommerce/instances/mser) PASSWD(micontraseña)
INFILE(input.xml) OUTFILE(output.xml) METHOD(*LOAD)
Método de actualización: Si especifica el método de actualización para ID Resolver, los registros del archivo de entrada ya deben existir en la base de datos. ID Resolver localiza los identificadores en la base de datos. Si un registro no existe en la base de datos, ID Resolver no podrá resolver el identificador para este registro e indicará que se ha producido un error. El ejemplo siguiente se utiliza para localizar identificadores para datos que ya existen en la base de datos:
![]()
![]()
![]()
![]()
![]()
idresgen -dbname db -dbuser user -dbpwd pwd -infile input.xml
-outfile output.xml -method update -customizer customizer
![]()
QWEBCOMM/RESWCSID DATABASE(NOMBRE_BASEDATOS) SCHEMA(MALL)
INSTROOT(/QIBM/UserData/WebCommerce/instances/mser) PASSWD(micontraseña)
INFILE(input.xml) OUTFILE(output.xml) METHOD(*UPD)
Método combinado: Si el archivo de datos de entrada contiene registros que ya existen en la base de datos y también contiene algunos registros nuevos, ID Resolver debe ejecutarse utilizando el método combinado. Con este método, ID Resolver crea identificadores nuevos para los registros solamente si los registros no existen en la base de datos. De lo contrario, el identificador existente se obtiene de la base de datos. El ejemplo siguiente se utiliza para generar identificadores para los datos nuevos y para localizar identificadores para los datos que ya existen en la base de datos:
![]()
![]()
![]()
![]()
![]()
idresgen -dbname db -dbuser user -dbpwd pwd -infile input.xml
-outfile output.xml -method mixed -customizer customizer
![]()
QWEBCOMM/RESWCSID DATABASE(NOMBRE_BASEDATOS) SCHEMA(MALL)
INSTROOT(/QIBM/UserData/WebCommerce/instances/mser) PASSWD(micontraseña)
INFILE(input.xml) OUTFILE(output.xml) METHOD(*MIX)
Resolución de problemas
Si se producen errores al resolver los identificadores, consulte la siguiente tabla:
Error | Método utilizado | Causa posible | Solución posible | |
Clave primaria sin resolver |
All | ID Resolver no resuelve la clave primaria (identificador) en una tabla que no esté especificada en la tabla KEYS ni en la tabla SUBKEYS. | Antes de ejecutar ID Resolver, añada a la tabla SUBKEYS el nombre de la tabla para la que debe resolverse la clave primaria. | |
Actualizar | La clave primaria se resuelve consultando la base de datos. La consulta de base de datos se genera utilizando la información de la entrada del archivo de propiedades o el índice exclusivo de la tabla específica. Tiene prioridad la entrada del archivo de propiedades. | Asegúrese de que la información de
índice exclusivo en el archivo de entrada sea correcta.
Quizá también desee crear o modificar la entrada correspondiente en el archivo de propiedades para generar la consulta de base de datos adecuada para resolver la clave primaria. |
||
Clave externa sin resolver |
All | ID Resolver no resuelve la clave externa en una tabla cuyas referencias externas hacen referencia a tablas que no están especificadas en la tabla KEYS ni en la tabla SUBKEYS. | Antes de ejecutar ID
Resolver, añada a la tabla
SUBKEYS el nombre de la tabla a la
que se hace referencia. Además, asegúrese de que la relación de clave externa exista en el esquema de base de datos. |
|
Una clave externa se resuelve utilizando el alias interno o consultando la base de datos. La consulta de base de datos sólo se lleva a cabo si el alias interno no resuelve la clave externa. | El alias interno se genera utilizando la clave primaria y utilizando la entrada de archivo de propiedades. | Asegúrese de que los valores de alias interno utilizados como origen y destino en el archivo de entrada sean los correctos. | ||
La consulta de base de datos se genera utilizando la información de la entrada del archivo de propiedades o el índice exclusivo de la tabla específica. Tiene prioridad la entrada del archivo de propiedades. | Asegúrese de que la información de
índice exclusivo en el archivo de entrada sea correcta.
Quizá también desee crear o modificar la entrada correspondiente en el archivo de propiedades para generar la consulta de base de datos adecuada para resolver la clave primaria. |
![]() |