Felhasználói kézikönyv

Az SQLCODE leképezés alakítása

Alapértelmezés szerint a DB2 Connect leképzi az SQLCODE-okat és a vezérjeleket minden egyes gazdagép vagy AS/400 adatbázis-kiszolgálóról a megfelelő DB2 UDB SQLCODE-okra. Az alábbi fájlok az alapértelmezett SQLCODE leképezés másolatai:

dcs1dsn.map
DB2 for MVS/ESA és DB2 UDB for OS/390 SQLCODE-okat képez le

dcs1ari.map
DB2 for VSE & VM SQLCODE-okat képez le

dcs1qsq.map
DB2 UDB for AS/400 SQLCODE-okat képez le

OS/2 és UNIX alapú DB2 rendszerek esetén nem szükséges leképezés.

Ha felül szeretné bírálni az alapértelmezett SQLCODE leképezést, vagy egy olyan gazdagép vagy AS/400 adatbázis-kiszolgálót használ, amely nem képes SQLCODE leképezésre (nem IBM adatbázis-kiszolgáló) ezen fájlok egyikét átmásolva azt az új SQLCODE leképezésfájl alapjául használhatja. (A fájl közvetlen szerkesztése helyett azt átmásolva lehetővé válik, hogy szükség esetén visszatérhessen az eredeti SQLCODE leképezésre.)

Adja meg az új SQLCODE leképezési fájl nevét a DCS katalógus vagy a DCE útvonal-információs objektum paramétersorában. A DCS katalógus frissítésével kapcsolatban lásd: Az adatbázis-hozzáférési katalógusok frissítése. A DCE használatáról további információkat a következő helyen talál: Függelék D, A DCE katalógusszolgáltatások használata.

Minden egyes leképezésfájl egy ASCII fájl, amelyet ASCII szövegszerkesztővel lehet létrehozni és szerkeszteni. A kezdeti telepítés során a fájl a telepítési útvonal map könyvtárába kerül.

A fájl az alábbi speciális sorokat tartalmazhatja:

&&
A fájl logikai kezdete. Az && jel első előfordulása előtti sorokat szabad formátumú megjegyzéseknek tekinti a program, és így figyelmen kívül maradnak. Ha a fájl nem tartalmaz semmit az && után, nem történik SQLCODE leképezés. (Az SQLCODE leképezés a NOMAP paraméter használatával kikapcsolható, a korábbiakban leírt módon.)

*
A sor első karaktereként megjegyzésre utal.

W
Ha ez az egyetlen karakter a sorban, akkor arra utal, hogy a figyelmeztetés jelzőket újra le kell képezni. (Alapértelmezés szerint az eredeti figyelmeztetés jelzők kerülnek átvitelre.) A W nagybetű kell legyen.

Minden egyéb sor a && jel után vagy üres, vagy pedig leképezés utasítás kell legyen, a következő formátumban:

bemenet_kód [, kimenet_kód [, vezérjel_lista]]

bemenet_kód az alábbiak egyike:

sqlcode
A gazdagép vagy AS/400 adatbázis-kiszolgálóról származó SQLCODE.

U
Minden meg nem határozott negatív SQLCODE (azok, amelyek nincsenek ebben a fájlban feltüntetve) a megadott kimenet_kód-hoz vannak leképezve. Ha nincs megadva kimenet_kód ebben a sorban, akkor a DB2 Connect az eredeti SQLCODE-ot használja. Ez a karakter nagybetű kell legyen.

P
Minden meg nem határozott pozitív SQLCODE (azok, amelyek nincsenek ebben a fájlban feltüntetve) a megadott kimenet_kód-hoz vannak leképezve. Ha nincs megadva kimenet_kód ebben a sorban, akkor a DB2 Connect az eredeti SQLCODE-ot használja. Ez a karakter nagybetű kell legyen.

ccnn
A gazdagép vagy AS/400 adatbázis-kiszolgálóról származó SQLSTATE. nn az alábbiak egyike:

00
Minősítetlen sikeres befejezés

01
Figyelmeztetés

02
Nincs adat

21
Számosság megsértése

22
Adat kivétel

23
Korlát megsértése

24
Érvénytelen kurzorállapot

26
Érvénytelen SQL utasítás azonosító

40
Tranzakció visszagörgetés

42
Hozzáférési hiba

51
Érvénytelen alkalmazásállapot

55
Az objektum nem az előfeltételnek megfelelő állapotban van

56
Egyéb SQL vagy termékhiba

57
Az erőforrás nem elérhető, vagy kezelői beavatkozás történt

58
Rendszerhiba

A megadott kimenet_kód lesz használva minden olyan, ezzel megegyező osztálykódú SQLCODE esetén, amely nincs kifejezetten megadva a leképezésfájlban. Ha ebben a sorban nincs megadva kimenet_kód, akkor az eredeti SQLCODE lesz önmagára leképezve vezérjelek nélkül.

A cc karaktereknek kisbetűknek kell lenniük.

Ha ugyanaz a bemenet_kód egyél többször jelenik meg a fájlban, a DB2 Connect az első előfordulást használja.

A kimenet_kód a kimeneti SQLCODE. Ha nincs megadva érték, a DB2 Connect az eredeti SQLCODE-ot használja.

Ha megad egy kimeneti kódot, az alábbiak egyikét is megadhatja:

(s)
A bemeneti SQLCODE és a termékazonosító (ARI, DSN or QSQ) kerül az SQLCA üzenet vezérjel mezőjébe.

Az eredeti SQLCODE mint az egyetlen vezérjel tér vissza. Ez a lehetőség a meghatározatlan SQLCODE-ok kezelésére készült, a +965 és a -969 kivételével. Ha a +965 vagy a -969 a kimenet_kód, a visszatérő jelsor az SQLCA SQLERRMC mezőjében tartalmazza az eredeti SQLCODE-ot, a termékazonosítót és az eredeti vezérjellistát.

Az s karakter kisbetű kell legyen.

(vezérjellista)
Vezérjelek listája, vesszőkkel elválasztva. Egy adott vezérjel kihagyásához csak egy vesszőt adjon meg. Például a (,t2,,t4) bejegyzés azt jelenti, hogy az első és a harmadik vezérjel null.

Minden vezérjel egy szám (n), amelyet megelőzhet egy c, és követhet egy c vagy egy i. Ezek értelmezése a következő:

c
Az ezen a pozíción található vezérjel típusa CHAR (az alapértelmezett). Ha a c az n előtt áll, akkor a bemeneti vezérjelre utal, ha az n után áll, akkor a kimenetire. A c karakter kisbetű kell legyen.

i
Az ezen a pozíción álló vezérjel típusa INTEGER. Ha az i az n után áll, akkor a kimenő vezérjelre utal. Az i nem állhat az n előtt, mivel az IBM gazdagép vagy AS/400 adatbázis-kiszolgáló termékek csak CHAR vezérjeleket támogatnak. Az i karakter kisbetű kell legyen.

n
Egy vagy több szám, melyek megmutatják, hogy melyik gazdagép vagy AS/400 kiszolgáló vezérjeleket használja a DB2 Connect. A kimenő SQLCA-ban kívánt megjelenés szerint vannak sorbarendezve. A szám a gazdagép vagy AS/400 adatbázis-kiszolgáló vezérjelre utal, az elrendezés az SQLCA-ba történő elhelyezés sorrendjét mutatja meg.

Például a gazdagép vagy AS/400 adatbázis-kiszolgáló két vezérjelet, 1-et és 2-t adhat vissza. Ha a kimeneti SQLCA-ban a 2-es vezérjelet az 1-es előtt szeretné megjeleníteni, a (2,1) értéket kell megadni.

Több vezérjelszám egy CHAR kimeneti vezérjellé kombinálható, ha pontokkal kapcsolja össze őket.

A vesszők a kimeneti vezérjelek elválasztására szolgálnak. Ha egy vessző előtt nincs vezérjel megadva, az SQLCA adott pozíciójába nem kerül kimeneti vezérjel. Minden a kimeneti SQLCA-ban előforduló vezérjel az utolsó megadott vezérjel után null vezérjellé képeződik le.

Az ábra 6 egy minta SQLCODE leképezésfájlt mutat.

ábra 6. Egy SQLCODE leképezésfájl

&&
  -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)

A fájlban található leképezési utasítások leírása:

  1. Az SQLCODE -007-ről -007-re van leképezve. A gazdagép vagy AS/400 adatbázis-kiszolgálóról beérkező első bemeneti vezérjel lesz az első kimeneti vezérjel, és alapértelmezésben CHAR típusú. Más vezérjel nem kerül átvitelre.
  2. Az SQLCODE -010-ről -010-re van leképezve (nincs megadott kimeneti SQLCODE). A kimeneti SQLCA-ba nem kerül vezérjel.
  3. Az SQLCODE -060-ról -171-re van leképezve. A gazdagép vagy AS/400 adatbázis-kiszolgálótól kapott első bemeneti vezérjel elvetésre kerül. A második lesz a kimeneti SQLCA első vezérjele, és CHAR típusú. Nincs második vezérjel a kimeneti SQLCA-ban.
  4. Az SQLCODE -204-ről -204-re van leképezve. A gazdagép vagy AS/400 adatbázis-kiszolgálóról érkező első két vezérjel CHAR típusú. Ez a két bemeneti vezérjel egy CHAR típusú kimeneti vezérjelet ad, amely az SQLCA első kimeneti vezérjele lesz.
  5. Az SQLCODE -633-ról -206-ra van leképezve. A gazdagép vagy AS/400 adatbázis-kiszolgálótól kapott első bemeneti vezérjel CHAR típusú. Ez INTEGER típusúvá alakítás után a kimeneti SQLCA második vezérjeleként kerül felhasználásra. A kimeneti SQLCA első vezérjele null, amit a vessző jelez.
  6. Az SQLCODE -30021-ről -30021-re van leképezve. A gazdagép vagy AS/400 adatbázis-kiszolgálótól kapott első és második bemeneti vezérjel CHAR típusú, és ezek lesznek a kimeneti SQLCA első és második vezérjelei.
  7. Az SQLCA-kban minden 00 osztályú SQLSTATE-tel rendelkező SQLCODE a +000 SQLCODE-ra lesz leképezve.
  8. Minden nem meghatározott SQLCODE -969-re lesz leképezve. Ez a lehetőség csak akkor használandó, ha minden leképezhető kód fel van sorolva, beleértve az azonosakat is, amelyek nem igényelnek leképezést. Az (s) paraméter azt mutatja, hogy az SQLCA SQLERRMC mezőjében visszaadandó vezérjellista tartalmazza az eredeti SQLCODE-ot, a terméket, amelyben a hiba történt, valamint az eredeti vezérjellistát. Ha az U bejegyzés hiányzik, minden fel nem sorolt kód leképezés nélkül kerül továbbításra.
  9. Minden nem meghatározott pozitív SQLCODE a +965-re lesz leképezve. Ez a lehetőség csak akkor használandó, ha minden leképezhető kód fel van sorolva, beleértve az azonosakat is, amelyek nem igényelnek leképezést. Az (s) paraméter azt mutatja, hogy az SQLCA SQLERRMC mezőjében visszaadandó vezérjellista tartalmazza az eredeti SQLCODE-ot, a terméket, amelyben a figyelmeztetés történt, valamint az eredeti vezérjellistát. Ha a P bejegyzés hiányzik, minden fel nem sorolt pozitív kód leképezés nélkül kerül továbbításra.


[ Oldal eleje | Előző oldal | Következő oldal | Tartalom | Tárgymutató ]