Conversion d'identificateurs

Les données XML devant être chargées dans une base de données cible doivent contenir les identificateurs des éléments XML pour lesquels ils sont nécessaires. Pour générer ou localiser des identificateurs pour des entités de catalogue dans le document XML, appelez l'instruction ID Resolve.

L'ID Resolver ne convertit que les identificateurs d'une table primaire. Une table primaire est une table répertoriée dans la table KEYS ou SUBKEYS. S'il faut résoudre les identificateurs d'une table qui ne figure pas dans KEYS ou SUBKEYS, ajoutez cette table manquante à la table SUBKEYS avant de lancer l'ID Resolver.

Méthodes

Cette instruction vous permet de choisir la méthode de chargement, de mise à jour ou mixte pour traiter le fichier d'entrée. 

Méthode de chargement : cette méthode d'ID Resolver permet de créer des identificateurs pour les enregistrements chargés dans la base de données. Par ce biais, de nouveaux identificateurs sont créés pour les enregistrements. L'exemple suivant est utilisé pour générer des identificateurs pour de nouvelles données :

Windows NT Windows 2000 AIX Solaris Linux
idresgen -dbname db -dbuser user -dbpwd pwd -infile input.xml
-outfile output.xml -method load -customizer customizer

Remarque :  la méthode de chargement est la méthode par défaut.

iSeries
QWEBCOMM/RESWCSID DATABASE(DATABASE_NAME) SCHEMA(MALL)
INSTROOT(/QIBM/UserData/WebCommerce/instances/mser) PASSWD(mon_mot_de_passe)
INFILE(entrée.xml) OUTFILE(sortie.xml) METHOD(*LOAD)

Méthode de mise à jour : Si vous spécifiez la méthode de mise à jour d'ID Resolver, les enregistrements, dans le fichier d'entrée, doivent déjà exister dans la base de données. L'ID Resolver localise les identificateurs dans la base de données. Si un enregistrement n'existe pas dans la base de données, l'ID Resolver ne pourra pas convertir l'identificateur de cet enregistrement et il indiquera qu'une erreur s'est produite. L'exemple suivant est utilisé pour localiser des identificateurs de données qui existent déjà dans la base de données :

Windows NT Windows 2000 AIX Solaris Linux
idresgen -dbname db -dbuser user -dbpwd pwd -infile input.xml
-outfile output.xml -method update -customizer customizer

iSeries
QWEBCOMM/RESWCSID DATABASE(DATABASE_NAME) SCHEMA(MALL)
INSTROOT(/QIBM/UserData/WebCommerce/instances/mser) PASSWD(mon_mot_de_passe)
INFILE(entrée.xml) OUTFILE(sortie.xml) METHOD(*UPD)

Méthode mixte : Si le fichier de données d'entrée contient des enregistrements qui existent déjà dans la base de données ainsi que quelques enregistrements nouveaux, ID Resolver doit être exécuté à l'aide de la méthode mixte. Avec cette méthode, ID Resolver crée de nouveaux identificateurs pour des enregistrements seulement si ceux-ci n'existent pas dans la base de données. Sinon, l'identificateur existant est obtenu à partir de la base de données. L'exemple suivant est utilisé pour générer des identificateurs pour de nouvelles données et pour localiser des identificateurs pour des données qui existent déjà dans la base de données :

Windows NT Windows 2000 AIX Solaris Linux
idresgen -dbname db -dbuser user -dbpwd pwd -infile input.xml
-outfile output.xml -method mixed -customizer customizer

iSeries
QWEBCOMM/RESWCSID DATABASE(DATABASE_NAME) SCHEMA(MALL)
INSTROOT(/QIBM/UserData/WebCommerce/instances/mser) PASSWD(mon_mot_de_passe)
INFILE(entrée.xml) OUTFILE(sortie.xml) METHOD(*MIX)

Conseils pour l'identification et la résolution des incidents

Si des erreurs se produisent lors de la conversion d'identificateurs, reportez-vous au tableau suivant :

Erreur Méthode utilisée Cause possible Solution possible
Clé primaire
non résolue
All L'utilitaire de résolution d'ID ne résout pas la clé primaire (identificateur) dans une table qui n'est pas indiquée comme étant dans la table KEYS ou SUBKEYS. Ajoutez le nom de la table pour laquelle la clé primaire doit être résolue à la table SUBKEYS avant d'exécuter l'utilitaire de résolution d'ID.
Update La clé primaire est résolue par interrogation de la base de données. Cette interrogation est créée à partir des informations d'entrée du fichier propriétés ou de l'index à entrées uniques pour la table donnée. L'entrée de fichier de propriétés est prioritaire. Vérifiez que les informations d'index à entrées uniques figurant dans le fichier d'entrée sont correctes.

Vous pouvez également créer ou modifier l'entrée appropriée dans le fichier de propriétés pour générer l'interrogation de base de données qui permettra de résoudre la clé primaire.

Clé associée
non résolue
All L'utilitaire de résolution d'ID ne résout pas la clé associée dans une table où les références sont associées à des tables qui ne sont pas indiquées comme étant dans la table KEYS ou SUBKEYS. Ajoutez le nom de la table associée à la table SUBKEYS avant d'exécuter l'utilitaire de résolution d'ID.

En outre, vérifiez que l'association de clé existe bien dans le schéma de la base de données.

La clé associée est résolue à l'aide de l'alias interne ou par interrogation de la base de données. La base de données est interrogée uniquement si l'alias interne ne parvient à résoudre la clé associée. Vous pouvez créer l'alias interne à l'aide de la clé primaire et l'entrée de fichier de propriétés. Vérifiez que les valeurs d'alias interne utilisées comme source et cible dans le fichier d'entrée sont correctes.
Cette interrogation est créée à partir des informations d'entrée du fichier propriétés ou de l'index à entrées uniques pour la table donnée. L'entrée de fichier de propriétés est prioritaire. Vérifiez que les informations d'index à entrées uniques figurant dans le fichier d'entrée sont correctes.

Vous pouvez également créer ou modifier l'entrée appropriée dans le fichier de propriétés pour générer l'interrogation de base de données qui permettra de résoudre la clé primaire.

Rubriques connexes

Tâche connexe

Référence connexe

IBM copyright