XML-Daten, die in die Zieldatenbank geladen werden sollen, müssen Kennungen für die XML-Elemente enthalten, für die diese Referenznummern erforderlich sind. Um Kennungen im XML-Dokument für Katalogentitäten zu generieren oder zu lokalisieren, rufen Sie den Befehl 'ID Resolve' auf.
Der ID Resolver löst nur Kennungen für eine primäre Tabelle auf. Eine primäre Tabelle ist eine Tabelle, die in der Tabelle KEYS oder SUBKEYS aufgelistet ist. Wenn Kennungen für eine Tabelle aufgelöst werden müssen, die dort nicht aufgelistet ist, fügen Sie die Tabelle vor Ausführung des ID Resolvers der Tabelle SUBKEYS hinzu.
Methoden
Mit dem Befehl 'ID Resolve' können Sie die Methode 'load', 'update' oder 'mixed method' zur Verarbeitung der Eingabedatei auswählen.
Lademethode (load): Die Lademethode für den ID Resolver wird zum Generieren von neuen Kennungen für die Datensätze verwendet, die in die Datenbank geladen werden.Bei dieser Methode werden neue Kennungen für die Datensätze erstellt. Das folgende Beispiel dient zur Erstellung von Kennungen für neue Daten:
![]()
![]()
![]()
![]()
![]()
idresgen -dbname db -dbuser user -dbpwd pwd -infile input.xml
-outfile output.xml -method load -customizer customizerHinweis: Die load-Methode ist Standardwert.
![]()
QWEBCOMM/RESWCSID DATABASE(DATABASE_NAME) SCHEMA(MALL)
INSTROOT(/QIBM/UserData/WebCommerce/instances/mser) PASSWD(mypassword)
INFILE(input.xml) OUTFILE(output.xml) METHOD(*LOAD)
Aktualisierungsmethode (update): Wenn Sie die Aktualisierungsmethode für den ID Resolver angeben, sollten die Datensätze in der Eingabedatei bereits vorhanden sein.Der ID Resolver findet die Kennungen in der Datenbank. Wenn ein Datensatz nicht in der Datenbank vorhanden ist, kann der ID Resolver die Kennung für diesen Datensatz nicht auflösen und zeigt an, dass ein Fehler aufgetreten ist. Das folgende Beispiel dient zum Finden von Kennungen, die bereits in der Datenbank vorhanden sind:
![]()
![]()
![]()
![]()
![]()
idresgen -dbname db -dbuser user -dbpwd pwd -infile input.xml
-outfile output.xml -method update -customizer customizer
![]()
QWEBCOMM/RESWCSID DATABASE(DATABASE_NAME) SCHEMA(MALL)
INSTROOT(/QIBM/UserData/WebCommerce/instances/mser) PASSWD(mypassword)
INFILE(input.xml) OUTFILE(output.xml) METHOD(*UPD)
Gemischte Methode (mixed): Wenn die Eingabedatendatei sowohl bereits in der Datenbank vorhandene als auch neue Datensätze enthält, muss der ID Resolver unter Verwendung der gemischten Methode ausgeführt werden.Bei dieser Methode erstellt der ID Resolver neue Kennungen für Datensätze nur dann, wenn die Datensätze nicht in der Datenbank vorhanden sind. Anderenfalls wird die vorhandene Kennung aus der Datenbank abgerufen. Das folgende Beispiel dient zum Erstellen von Kennungen für neue Daten und zum Finden von Kennungen für Daten, die bereits in der Datenbank vorhanden sind:
![]()
![]()
![]()
![]()
![]()
idresgen -dbname db -dbuser user -dbpwd pwd -infile input.xml
-outfile output.xml -method mixed -customizer customizer
![]()
QWEBCOMM/RESWCSID DATABASE(DATABASE_NAME) SCHEMA(MALL)
INSTROOT(/QIBM/UserData/WebCommerce/instances/mser) PASSWD(mypassword)
INFILE(input.xml) OUTFILE(output.xml) METHOD(*MIX)
Tipps zur Fehlerbehebung
Wenn beim Auflösen von Kennungen Fehler auftreten, verwenden Sie die folgende Tabelle:
Fehler | Verwendete Methode | Mögliche Ursache | Mögliche Lösung | |
Nicht aufgelöster Primärschlüssel |
All | Der ID Resolver löst nicht den Primärschlüssel (Kennung) in einer Tabelle auf, die nicht in der Tabelle KEYS oder SUBKEYS angegeben ist. | Fügen Sie den Namen der Tabelle, für die der Primärschlüssel aufgelöst werden soll, zur Tabelle SUBKEYS hinzu, bevor Sie den ID Resolver ausführen. | |
Aktualisieren | Der Primärschlüssel wird durch Abfragen der Datenbank aufgelöst. Die Datenbankabfrage wird entweder durch Verwenden der Eingabeinformationen aus der Properties-Eigenschaftsdatei oder durch den eindeutigen Index für die angegebene Tabelle generiert. Die Properties-Eigenschaftsdatei hat Priorität. | Stellen Sie sicher, dass die Informationen zum eindeutigen Index in der Eingabedatei korrekt sind.
Sie können außerdem den entsprechenden Eintrag in der Properties-Eigenschaftsdatei erstellen bzw. ändern, um die entsprechende Datenbankabfrage zum Auflösen der Primärschlüssels zu generieren. |
||
Nicht aufgelöster Fremdschlüssel |
All | Der ID Resolver löst nicht den Primärschlüssel (Kennung) in einer Tabelle auf, die Fremdverweise auf Tabellen enthält, die nicht in der Tabelle KEYS oder SUBKEYS angegeben sind. | Fügen Sie den Namen der referenzierten Tabelle
zur Tabelle
SUBKEYS hinzu, bevor Sie den ID Resolver ausführen. Stellen Sie darüber hinaus sicher, dass die Fremdschlüsselbeziehung im Datenbankschema vorhanden ist. |
|
Ein Fremdschlüssel wird durch Verwendung des internen Aliasnamens oder durch Abfragen der Datenbank aufgelöst. Die Datenbankabfrage wird nur ausgeführt, wenn das Auflösen des Fremdschlüssels über den internen Aliasnamen fehlschlägt. | Der interne Aliasname wird unter Verwendung des Fremdschlüssels sowie des Eintrags in der Properties-Eigenschafsdatei generiert. | Stellen Sie sicher, dass die in der Eingabedatei als Quelle und Ziel verwendeten Werte für den internen Aliasnamen korrekt sind. | ||
Die Datenbankabfrage wird entweder durch Verwenden der Eingabeinformationen aus der Properties-Eigenschaftsdatei oder durch den eindeutigen Index für die angegebene Tabelle generiert. Die Properties-Eigenschaftsdatei hat Priorität. | Stellen Sie sicher, dass die Informationen zum eindeutigen Index in der Eingabedatei korrekt sind.
Sie können außerdem den entsprechenden Eintrag in der Properties-Eigenschaftsdatei erstellen bzw. ändern, um die entsprechende Datenbankabfrage zum Auflösen der Primärschlüssels zu generieren. |
![]() |