DB2 Connect Brugervejledning
Som standard konverterer DB2 Connect SQLCODE-værdier og elementer fra
hver IBM værts- eller AS/400-databaseserver til de relevante DB2 UDB
SQLCODE-værdier. Standardkonverteringen af SQLCODE-værdier sker
vha. følgende filer:
- dcs1dsn.map
- Konverterer SQLCODE-værdier fra DB2 til MVS/ESA og DB2 UDB til OS/390
- dcs1ari.map
- Konverterer SQLCODE-værdier fra DB2 til VSE og VM
- dcs1qsq.map
- Konverterer SQLCODE-værdier fra DB2 UDB til AS/400
Der kræves ingen konvertering for OS/2- og UNIX-baserede
DB2-systemer.
Hvis du vil erstatte standardkonverteringen, eller hvis du bruger en værts-
eller AS/400-databaseserver, der ikke konverterer SQLCODE-værdier (en
ikke-IBM-databaseserver), kan du kopiere en af disse filer og bruge den som
grundlag for din egen konverteringsfil. Når du kopierer filen i stedet
for at redigere originalfilen, kan du altid vende tilbage til den oprindelige
SQLCODE-konvertering.
Angiv navnet på den nye SQLCODE-konverteringsfil i parameterstrengen i
kataloget over databaseforbindelser (DCS-kataloget) eller
DCE-ruteoplysningsobjektet. Der er oplysninger om opdatering af
kataloget over databaseforbindelser i Opdatering af databasekataloger. Der er oplysninger om brug af DCE i Tillæg D, Brug af DCE-katalogfunktion.
Alle konverteringsfilerne er i ASCII-format og kan redigeres vha. et
ASCII-redigeringsprogram. Filerne er placeret i biblioteket
map under installationsbiblioteket.
Filen kan indeholde følgende særlige linietyper:
- &&
- Filens logiske begyndelse. Alle linier før den første forekomst af
&& betragtes som fritekstkommentarer og ignoreres. Hvis filen
er tom efter &&, udføres ingen SQLCODE-konvertering. Du kan
også deaktivere SQLCODE-konvertering vha. NOMAP-parameteren som
beskrevet ovenfor.
- *
- En stjerne som første tegn på en linie indleder en kommentar.
- W
- Når W står som det eneste tegn på en linie, angiver det, at advarselsflag
skal konverteres. Standardværdien i originalfilerne er, at
advarselsflag overføres. Bogstavet W skal skrives med stort.
Alle andre linier efter && skal enten være tomme eller udgøre
konverteringsudsagn i følgende format:
inputkode [, outputkode [, elementliste]]
inputkode repræsenterer ét af følgende:
- sqlcode
- SQLCODE-værdien fra værts- eller AS/400-databaseserveren.
- U
- Alle ikke-definerede negative SQLCODE-værdier (de som ikke er indeholdt i
filen) konverteres til den angivne outputkode. Hvis linien
ikke indeholder en outputkode, anvendes den oprindelige
SQLCODE. Bogstavet skal skrives med stort.
- P
- Alle ikke-definerede positive SQLCODE-værdier (de som ikke er indeholdt i
filen) konverteres til den angivne outputkode. Hvis linien
ikke indeholder en outputkode, anvendes den oprindelige
SQLCODE. Bogstavet skal skrives med stort.
- ccnn
- SQLCODE-klassekoden fra værts- eller AS/400-databaseserveren.
nn er en af følgende værdier:
- 00
- Udført ubetinget
- 01
- Advarsel
- 02
- Ingen data
- 21
- Kardinalitetsovertrædelse
- 22
- Datafejl
- 23
- Overtrædelse af betingelse
- 24
- Ugyldig cursortilstand
- 26
- Ugyldig identifikation af SQL-sætning
- 40
- Rollback af transaktion
- 42
- Overtrædelse af adgangsregel
- 51
- Ugyldig applikationstilstand
- 55
- Objekt er ikke i nødvendig tilstand
- 56
- Diverse SQL- eller programfejl
- 57
- Ressourcen er ikke til rådighed, eller brugeren har grebet ind
- 58
- Systemfejl
Den angivne outputkode bruges til alle SQLCODE-værdier med denne
klassekode, som ikke er angivet explicit i konverteringsfilen. Hvis
linien ikke indeholder en outputkode, konverteres den oprindelige
SQLCODE til sig selv, uden at der kopieres elementer.
Tegnene cc skal skrives med småt.
Hvis samme inputkode forekommer flere gange i konverteringsfilen,
anvendes første forekomst.
outputkode repræsenterer SQLCODE-outputværdien. Hvis der
ikke angives en værdi, benyttes den oprindelige SQLCODE.
Hvis du angiver en outputkode, kan du også angive en af følgende
værdier:
- (s)
- SQLCODE-inputværdien plus produkt-id'en (ARI, DSN eller QSQ) placeres
i SQLCA-meddelelseselementfeltet.
Den oprindelige SQLCODE returneres som det eneste element. Denne
parameter er beregnet til at håndtere ikke-definerede SQLCODE-værdier, med
undtagelse af +965 og -969. Hvis outputkoden er +965 eller
-969, indeholder elementlisten, der returneres i SQLERRMC-feltet i SQLCA, den
oprindelige SQLCODE, produkt-id'en og den oprindelige
elementliste.
Bogstavet s skal skrives med småt.
- (elementliste)
- En liste med elementer med komma imellem. Skriv et ekstra komma,
hvis du vil springe et bestemt element over. Strengen
(,t2,,t4) betyder f.eks., at første og tredje
outputelement er tomme.
Hvert element udgøres af et nummer (n). Inden nummeret kan
der stå c, og efter nummeret kan der stå c eller
i. Det har følgende betydning:
- c
- Datatypen for elementet på denne position er CHAR
(standardværdien). Hvis c står før n, refererer
bogstavet til inputelementet. Hvis det står efter n, refererer
det til outputelementet. Bogstavet c skal skrives med
småt.
- i
- Datatypen for elementet på denne position er INTEGER. Hvis
i står efter n, refererer det til outputelementet.
i må ikke stå før n, da IBM værts- eller
AS/400-databaseserverprodukter kun understøtter elementer af typen
CHAR. Bogstavet i skal skrives med småt.
- n
- Et eller flere numre, der angiver, hvilke værts- eller
AS/400-databaseserverelementer der benyttes. De opstilles i den
rækkefølge, de skal placeres i output-SQLCA. Nummeret angiver værts-
eller AS/400-databaseserverelementet. Numrenes rækkefølge angiver
elementernes ønskede placering i SQLCA.
Hvis du f.eks. vil have, at element 2 skal placeres før
element 1 i output-SQLCA, skal du skrive (2,1).
Flere elementnumre kan kombineres, så de udgør ét
CHAR-outputelement. Det gøres ved at forbinde dem med
punktummer.
Outputelementer adskilles vha. kommaer. Hvis der ikke er
angivet et element før et komma, vil SQLCA ikke indeholde et outputelement for
den position. Hvis der forekommer elementer i output-SQLCA efter det
sidst angivne element, erstattes de af et NULL-element.
I Fig. 6 ses et eksempel på en SQLCODE-konverteringsfil.
Fig. 6. En SQLCODE-konverteringsfil
&&
-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)
|
De viste konverteringsudsagn i filen beskrives nedenfor:
- SQLCODE-værdien konverteres fra -007 til -007. Det første
inputelement, der modtages fra værts- eller AS/400-databaseserveren, bruges
som første outputelement og har standardtypen CHAR. Der overføres ikke
andre elementer.
- SQLCODE-værdien konverteres fra -010 til -010, da der ikke er angivet en
SQLCODE-outputværdi. Der placeres ingen elementer i
output-SQLCA.
- SQLCODE-værdien konverteres fra -060 til -171. Det første
inputelement, der modtages fra værts- eller AS/400-databaseserveren,
slettes. Det andet bruges som første element i output-SQLCA, og det har
datatypen CHAR. Elementposition 2 i output-SQLCA er tom.
- SQLCODE-værdien konverteres fra -204 til -204. Det første og andet
element, der modtages fra værts- eller AS/400-databaseserveren, har datatypen
CHAR. De to inputelementer kombineres, så de udgør ét
CHAR-outputelement, som bliver første outputelement i SQLCA.
- SQLCODE-værdien konverteres fra -633 til -206. Det første
inputelement, der modtages fra værts- eller AS/400-databaseserveren, er
CHAR. Det konverteres til INTEGER og bruges som andet element i
output-SQLCA. Første element i output-SQLCA er tomt, hvilket angives af
et komma.
- SQLCODE-værdien konverteres fra -30021 til -30021. Det første og
andet inputelement, der modtages fra værts- eller AS/400-databaseserveren, har
datatypen CHAR, og de bruges som første og andet element i
output-SQLCA.
- Alle SQLCODE-værdier i SQLCA'er med SQLSTATE-værdier i 00-klassen
konverteres til SQLCODE +000.
- Alle ikke-definerede SQLCODE-værdier konverteres til -969. Denne
parameter bør kun benyttes, hvis filen indeholder alle de koder, der kan
konverteres, herunder dem, der er identiske og ikke kræver
konvertering. Parameteren (s) angiver, at den elementliste,
der skal returneres i SQLERRMC-feltet i SQLCA, indeholder den oprindelige
SQLCODE, det produkt, som fejlen opstod i, og den oprindelige
elementliste. Hvis parameteren U ikke er angivet, overføres
alle ikke-definerede koder uden konvertering.
- Alle ikke-definerede positive SQLCODE-værdier konverteres til +965.
Denne parameter bør kun benyttes, hvis filen indeholder alle de koder, der kan
konverteres, herunder dem, der er identiske og ikke kræver
konvertering. Parameteren (s) angiver, at den elementliste,
der skal returneres i SQLERRMC-feltet i SQLCA, indeholder den oprindelige
SQLCODE, det produkt, som advarslen opstod i, og den oprindelige
elementliste. Hvis parameteren P ikke er angivet, overføres
alle ikke-definerede positive koder uden konvertering.
[ Øverst på siden | Forrige side | Næste side | Indholdsfortegnelse | Stikordsregister ]