DB2 Connect Benutzerhandbuch

Anpassen der SQLCODE-Zuordnung

Standardmäßig ordnet DB2 Connect die SQLCODE-Werte und Token aller IMB Host- oder AS/400-Datenbank-Server den entsprechenden SQLCODE-Werten von DB2 UDB zu. Die folgenden Dateien sind genaue Kopien der standardmäßigen SQLCODE-Zuordnung:

dcs1dsn.map
Zuordnung von SQLCODE-Werten für DB2 für MVS/ESA und DB2 UDB für OS/390

dcs1ari.map
Zuordnung von SQLCODE-Werten für DB2 für VSE & VM

dcs1qsq.map
Zuordnung von SQLCODE-Werten für DB2 UDB für AS/400

Bei DB2-Systemen für OS/2 und UNIX-Systeme ist keine Zuordnung erforderlich.

Wenn die Standard-SQLCODE-Zuordnung überschrieben werden soll oder ein Host- oder AS/400-Datenbank-Server verwendet wird, der nicht über eine SQLCODE-Zuordnung verfügt (ein Datenbank-Server, der nicht von IBM stammt), kann eine der Dateien kopiert und als Grundlage für die neue SQLCODE-Zuordnungsdatei verwendet werden. Wenn die Datei nicht direkt editiert, sondern kopiert wird, ist sichergestellt, daß die ursprüngliche SQLCODE-Zuordnung später immer noch zur Verfügung steht.

Der Name der neuen SQLCODE-Zuordnungsdatei wird in der Parameterzeichenfolge des DCS-Verzeichnisses oder des Objekts für die DCE-Leitweginformationen angegeben. Informationen zur Aktualisierung des DCS-Verzeichnisses finden Sie in Kapitel 6, Aktualisieren von Datenbankverzeichnissen. Informationen zur Verwendung von DCE finden Sie in Anhang D, Verwenden der DCE Verzeichnisservices.

Zuordnungsdateien sind ASCII-Dateien, die mit einem ASCII-Editor erstellt und editiert werden können. Bei der Erstinstallation wird die Zuordnungsdatei im Verzeichnis map im Installationspfad gespeichert.

Die Datei kann folgende besondere Zeilenarten enthalten:

&&
Der logische Dateibeginn. Alle Zeilen vor dem ersten Auftreten von && werden als unformatierte Kommentare angesehen und ignoriert. Wenn in der Datei nach && keine Angaben enthalten sind, wird keine SQLCODE-Zuordnung durchgeführt. Die SQLCODE-Zuordnung kann auch mit dem Parameter NOMAP ausgeschaltet werden (siehe oben).

*
Ein Stern als erstes Zeichen in einer Zeile kennzeichnet einen Kommentar.

W
Ein W als einziges Zeichen in einer Zeile zeigt an, daß Warnungsmarkierungen neu zugeordnet werden sollten. Standardmäßig werden die ursprünglichen Warnungsmarkierungen übergeben. Das W muß in Großschreibung angegeben werden.

Alle anderen Zeilen nach && müssen entweder leer sein oder Zuordnungsanweisungen im folgenden Format enthalten:

eingabecode [, ausgabecode [, token-liste]]

eingabecode steht für eine der folgenden Angaben:

sqlcode
Der SQLCODE-Wert von dem Host- oder AS/400-Datenbank-Server.

U
Alle nicht definierten negativen SQLCODE-Werte (die nicht in dieser Datei aufgelisteten Codes) werden dem angegebenen ausgabecode zugeordnet. Wenn kein ausgabecode in dieser Zeile angegeben ist, wird der ursprüngliche SQLCODE verwendet. Das Zeichen muß in Großschreibung angegeben werden.

P
Alle nicht definierten positiven SQLCODE-Werte (die nicht in dieser Datei aufgelisteten Codes) werden dem angegebenen ausgabecode zugeordnet. Wenn kein ausgabecode in dieser Zeile angegeben ist, wird der ursprüngliche SQLCODE verwendet. Das Zeichen muß in Großschreibung angegeben werden.

ccnn
Der SQLSTATE-Klassencode vom Host- oder AS/400-Datenbank-Server.nn ist einer der folgenden Werte:

00
Nicht weiter qualifizierte, erfolgreiche Beendigung

01
Warnung

02
Keine Daten

21
Ungültige Beziehungsart

22
Datenfehler

23
Ungültige Integritätsbedingung

24
Ungültiger Cursor-Status

26
Ungültige ID für eine SQL-Anweisung

40
Zurücksetzung der Transaktion

42
Ungültiger Zugriff

51
Ungültiger Anwendungsstatus

55
Objekt nicht in erforderlichem Status

56
Sonstiger SQL- oder Produktfehler

57
Ressource nicht verfügbar oder Bedienereingriff

58
Systemfehler

Der angegebene ausgabecode wird für alle SQLCODE-Werte mit dem betreffenden Klassencode verwendet, die nicht ausdrücklich in der Zuordnungsdatei angegeben sind. Wenn kein ausgabecode in dieser Zeile angegeben ist, wird der ursprüngliche SQLCODE sich selbst zugeordnet, wobei keine Token kopiert werden.

Die Zeichen cc müssen in Kleinschreibung angegeben werden.

Wenn der gleiche Eingabecode mehrmals in der Zuordnungsdatei aufgeführt ist, wird das erste Auftreten verwendet.

ausgabecode ist der ausgegebene SQLCODE-Wert. Wenn kein Wert angegeben wird, wird der ursprüngliche SQLCODE verwendet.

Wenn ein Ausgabecode angegeben wird, kann auch eine der folgenden Angaben gemacht werden:

(s)
Der eingegebene SQLCODE sowie die Produkt-ID (ARI, DSN oder QSQ) werden in das Nachrichten-Token-Feld des SQL-Kommunikationsbereichs geschrieben.

Der ursprüngliche SQLCODE wird als einziges Token zurückgegeben. Diese Option dient zum Verarbeiten nicht definierter SQLCODE-Werte mit Ausnahme von +965 und -969. Wenn der ausgabecode +965 oder -969 ist, umfaßt die im Feld SQLERRMC des SQL-Kommunikationsbereichs zurückgegebene Token-Liste den ursprünglichen SQLCODE, gefolgt von der Produkt-ID, gefolgt von der ursprünglichen Token-Liste.

Das Zeichen s muß in Kleinschreibung angegeben werden.

(token-liste)
Eine Liste durch Kommas getrennter Token. Wenn ein bestimmtes Token übersprungen werden soll, darf nur ein Komma angegeben werden. Die Angabe (,t2,,t4) bedeutet z. B., daß das erste und dritte Ausgabe-Token leer sind.

Jedes Token besteht aus einer Zahl (n), der wahlweise c vorangeht und auf die wahlweise c oder i folgt. Die Angaben werden wie folgt interpretiert:

c
Der Datentyp des Tokens an dieser Stelle ist CHAR (Standardwert). Wenn c vor n steht, verweist es auf das Eingabe-Token, wenn es nach n steht, verweist es auf das Ausgabe-Token. Das Zeichen c muß in Kleinschreibung angegeben werden.

i
Der Datentyp des Tokens an dieser Stelle ist INTEGER. Wenn i nach n steht, verweist es auf das Ausgabe-Token. i sollte nicht vor n stehen, weil Datenbank-Server-Produkte auf dem IBM Host oder System IBM AS/400 nur Token mit dem Datentyp CHAR unterstützen. Das Zeichen i muß in Kleinschreibung angegeben werden.

n
Eine Zahl oder Zahlen, die angibt bzw. angeben, welche Datenbank-Server-Token auf dem Host oder System IBM AS/400 verwendet werden. Sie werden in der Reihenfolge angeordnet, die für die Plazierung im SQL-Kommunikationsbereich für die Ausgabe gewünscht wird.

Beispiel: Der Host- oder AS/400-Datenbank-Server gibt unter Umständen zwei Token zurück: 1 und 2. Wenn Token 2 im SQL-Kommunikationsbereich für die Ausgabe vor Token 1 erscheinen soll, muß (2,1) angegeben werden.

Mehrere Token-Nummern können zu einem Ausgabe-Token mit dem Datentyp CHAR kombiniert werden, indem sie durch Punkte miteinander verbunden werden.

Zur Trennung von Ausgabe-Token werden Kommas verwendet. Wenn kein Token vor einem Komma angegeben ist, enthält der SQL-Kommunikationsbereich für die betreffende Stelle kein Ausgabe-Token. Alle Token, die im SQL-Kommunikationsbereich für die Ausgabe nach dem letzten angegebenen Token erscheinen, werden einem leeren Token zugeordnet.

Abbildung 6 zeigt ein Beispiel einer SQLCODE-Zuordnungsdatei

Abbildung 6. Eine SQLCODE-Zuordnungsdatei

&&
  -007    ,   -007   ,   (1)
  -010
  -060    ,   -171   ,   (2)
...
  -204    ,   -204   ,   (c1.2c)
...
  -633    ,   -206   ,   (,c1i)
 
  -30021  ,   -30021 ,   (c1c,c2c)
 
  cc00    ,   +000
...
  U       ,   -969   ,   (s)
  P       ,   +965   ,   (s)

Nachfolgend werden die einzelnen Zuordnungsanweisungen in der Datei beschrieben:

  1. Der SQLCODE wird von -007 bis -007 zugeordnet. Das erste vom Host- oder AS/400-Datenbank-Server empfangene Eingabe-Token wird als erstes Ausgabe-Token verwendet und hat standardmäßig den Datentyp CHAR. Es werden keine anderen Token übertragen.
  2. Der SQLCODE wird von -010 bis -010 zugeordnet (es wird kein Ausgabe-SQLCODE angegeben). Es werden keine Token im SQL-Kommunikationsbereich für die Ausgabe gespeichert.
  3. Der SQLCODE wird von -060 bis -171 zugeordnet. Das erste vom Host- oder AS/400-Datenbank-Server empfangene Eingabe-Token wird gelöscht. Das zweite Token wird im SQL-Kommunikationsbereich für die Ausgabe als erstes Token verwendet und hat den Datentyp CHAR. Es gibt kein zweites Token im SQL-Kommunikationsbereich für die Ausgabe.
  4. Der SQLCODE wird von -204 bis -204 zugeordnet. Das erste und zweite vom Host- oder AS/400-Datenbank-Server empfangene Token haben den Datentyp CHAR. Diese beiden Eingabe-Token werden zu einem Ausgabe-Token mit dem Datentyp CHAR kombiniert, das zum ersten Ausgabe-Token im SQL-Kommunikationsbereich wird.
  5. Der SQLCODE wird von -633 bis -206 zugeordnet. Das erste vom Host- oder AS/400-Datenbank-Server empfangene Eingabe-Token hat den Datentyp CHAR. Es wird in den Typ INTEGER umgesetzt und als zweites Token im SQL-Kommunikationsbereich für die Ausgabe verwendet. Das erste Token im SQL-Kommunikationsbereich für die Ausgabe ist ein leeres Token, was durch ein Komma angedeutet wird.
  6. Der SQLCODE wird von -30021 bis -30021 zugeordnet. Das erste und zweite Eingabe-Token, die vom Host- oder AS/400-Datenbank-Server empfangen werden, haben den Datentyp CHAR und werden als erstes und zweites Token im SQL-Kommunikationsbereich für die Ausgabe verwendet.
  7. Alle SQLCODE-Werte in SQL-Kommunikationsbereichen mit SQLSTATE-Werten in der Klasse 00 werden SQLCODE +000 zugeordnet.
  8. Für alle nicht definierten SQLCODE-Werte wird -969 zugeordnet. Diese Option sollte nur verwendet werden, wenn alle Codes, die zugeordnet werden können, einschließlich derer, die identisch sind und keine Zuordnung benötigen, aufgelistet sind. Die Option (s) gibt an, daß die Token-Liste, die im Feld SQLERRMC des SQL-Kommunikationsbereichs zurückgegeben werden soll, den ursprünglichen SQLCODE enthält, gefolgt von dem Produkt, in dem der Fehler auftrat, gefolgt von der ursprünglichen Token-Liste. Wenn der Eintrag U nicht vorgenommen wurde, werden alle nicht aufgeführten Codes ohne Zuordnung übergeben.
  9. Für alle nicht definierten positiven SQLCODE-Werte wird +965 zugeordnet. Diese Option sollte nur verwendet werden, wenn alle Codes, die zugeordnet werden können, einschließlich derer, die identisch sind und keine Zuordnung benötigen, aufgelistet sind. Die Option (s) gibt an, daß die Token-Liste, die im Feld SQLERRMC des SQL-Kommunikationsbereichs zurückgegeben werden soll, den ursprünglichen SQLCODE enthält, gefolgt von dem Produkt, in dem die Warnung auftrat, gefolgt von der ursprünglichen Token-Liste. Wenn der Eintrag P nicht vorgenommen wurde, werden alle nicht aufgeführten positiven Codes ohne Zuordnung übergeben.


[ Seitenanfang | Vorherige Seite | Nächste Seite | Inhaltsverzeichnis | Index ]