SQL0401N | Az "<operátor>" művelet operandusainak adattípusai nem kompatíbilisek. |
Magyarázat: Az SQL utasításon belül szereplő művelet ("<operátor>") numerikus és nem numerikus operandusok keveréke vagy a műveleti operandusok nem kompatíbilisek.
Egyesített rendszer felhasználói: Ez adattípus-sértés lehet az adatforrásnál vagy a egyesített kiszolgáló-nél.
Némely adatforrások nem a megfelelő értékeket szolgáltatja a "<műveleti jel>" számára. Ebben az esetben, az üzenetjel a következő formátumú lesz: "<adatforrás>:UNKNOWN", azt jelezve, hogy a megadott adatforrás aktuális értéke ismeretlen.
Az utasítás nem dolgozható föl.
Felhasználói válasz: Ellenőrizze az összes operandus adattípust, hogy összehasonlíthatók-e és kompatíbilisek-e az utasítás használatával!
Ha minden SQL utasítás operandus helyes és nézetet ér el, akkor minden nézet operandus adattípusát is ellenőrizze!
Egyesített rendszer felhasználói: Ha az ok ismeretlen, szűkítse a problémát a kérést meghiúsító adatforrásra (lásd a Hibafelderítés útmutatót a hibás adatforrás felderítésére szolgáló eljárásokról), és vizsgálja meg a hibát okozó adatforrás adattípus korlátozásait!
sqlcode: -401
sqlstate: 42818
SQL0402N | Egy aritmetikai függvény vagy művelet egyik operandusának adattípusa nem szám: "<művelet>". |
Magyarázat: Nem numerikus operandus van megadva aritmetikai függvény vagy "<művelet>" művelet részére.
Az utasítás nem dolgozható föl.
Felhasználói válasz: Javítsa ki az SQL utasítás szintaxisát úgy, hogy a megadott függvények vagy műveletek operandusai numerikusak legyenek!
Egyesített rendszer felhasználói: Ha az ok ismeretlen, szűkítse a problémát a kérést meghiúsító adatforrásra (lásd a Hibafelderítés útmutatót a hibás adatforrás felderítésére szolgáló eljárásokról), és vizsgálja meg a hibát okozó adatforrásra vonatkozó műveleti jeleket!
sqlcode: -402
sqlstate: 42819
SQL0403W | Az újonnan megadott fedőnév ("<név>") feloldását jelentő objektum ("<név2>") jelenleg nem definiált. |
Magyarázat: A "<név>" fedőnév a következők alapján lett megadva:
A "<név2>" objektum a nem definiált objektum. Ennek az objektumnak léteznie kell bármely (CREATE ALIAS-tól különböző) SQL utasítás előtt és sikeresen használhatja az újonnan létrehozott fedőnevet. A megadott <név> fedőnév jön létre.
Egy működésképtelen nézet nem definiáltnak tekintett új fedőnév létrehozása céljából.
Felhasználói válasz: Gondoskodjon arról, hogy a "<név2>" nem definiált objektum (CREATE ALIAS-tól különböző) SQL utasításban levő újonnan készített fedőnév használata előtt legyen megadva!
sqlcode: +403
sqlstate: 01522
SQL0404N | Az UPDATE vagy INSERT utasításban egy karakterlánc túl hosszú a "<név>" oszlop számára. |
Magyarázat: Egy INSERT vagy UPDATE utasítás olyan értéket ad meg, amely hosszabb, mint a jelzett oszlopban tárolható maximális hosszúságú karakterlánc.
Az utasítás nem dolgozható föl.
Megjegyzés:
"<név>" kerülhet visszaadásra az SQLCA-ban az INSERT vagy UPDATE utasítás szintaxisától függően.
Felhasználói válasz: Ellenőrizze az objektumoszlop hosszát és javítsa ki a programot vagy SQL utasítást úgy, hogy az INSERT vagy UPDATE karakterlánc ne haladja meg a maximális hosszt!
sqlcode: -404
sqlstate: 22001
SQL0405N | A numerikus literál ("<literál>") nem érvényes, mert értéke kívül van a megengedett tartományon. |
Magyarázat: A megadott numerikus literál nem az elfogadható tartományon belül van.
Az SQL értékek megfelelő tartományai a következők:
Néhány környezetben a literálnak további korlátozásai is lehetnek, amelyek szintén ezt a hibát eredményezik. Ha bővebb tájékoztatásra van szüksége, keresse meg az utasítást vagy tagmondatot itt: SQL Reference.
Egyesített rendszer felhasználói: Ez tartománysértés lehet az adatforrásnál vagy a egyesített kiszolgáló-nél. Az adatforrástáblákban található SQL értékek helyes tartományai az adatforrástól függnek. A használható tartományokat keresse meg az adatforrás megfelelő dokumentációjában! Némely adatforrások nem a megfelelő értékeket szolgáltatja a "<literál>" számára. Ebben az esetben, az üzenetjel a következő formátumú lesz: "<adatforrás>:UNKNOWN", azt jelezve, hogy a megadott adatforrás aktuális értéke ismeretlen.
Az utasítás nem dolgozható föl.
Felhasználói válasz: Csökkentse a literálértéket a megfelelő méretre!
Egyesített rendszer felhasználói: Ha az ok ismeretlen, szűkítse a problémát a kérést meghiúsító adatforrásra (lásd a Hibafelderítés útmutatót a hibás adatforrás felderítésére szolgáló eljárásokról), és vizsgálja meg a hibát okozó adatforrás adattartomány korlátozásait!
sqlcode: -405
sqlstate: 42820
SQL0406N | Az UPDATE vagy INSERT utasításban az egyik számérték nincs a céloszlop értéktartományán belül. |
Magyarázat: Forrásváltozó értéke illetve az UPDATES vagy INSERT SQL utasítás feldolgozásakor kiszámolt számérték a céloszlop tartományán kívül esik. Ezt a hibát az objektumoszlopban szereplő értékek, az azokon az értékeken végrehajtott SQL művelet vagy akár mindkettő is okozhatja.
Az utasítás nem dolgozható föl.
Felhasználói válasz: Az SQL0405 üzenet tartalmazza a numerikus adattípusok megengedett tartományát.
MEGJEGYZÉS: A rendszerkatalógus frissítéséről információt a SQL Reference könyv tartalmaz, itt láthatja például a frissíthető katalógusok különféle oszlopaiban előforduló érvényes tartományokat.
sqlcode: -406
sqlstate: 22003
SQL0407N | NOT NULL oszlophoz ("<név>") nem rendelhető NULL érték. |
Magyarázat: A következők egyike történt:
Ha "<név>" értéke "TBSPACEID=n1, TABLEID=n2, COLNO=n3" formájú, akkor a hibajelzéskor nem állt rendelkezésre az SQL utasításból az oszlopnév. A megadott értékek olyan alaptábla táblaterületét, táblanevét és oszlopszámát adják meg, amelyben nem adható meg NULL érték.
Egyesített rendszer felhasználói: Ezt a helyzetet észlelheti a egyesített kiszolgáló vagy az adatforrás. Némely adatforrások nem a megfelelő értékeket szolgáltatja a "<név>" számára. Ebben az esetben, az üzenetjel a következő formátumú lesz: "<adatforrás>:UNKNOWN", azt jelezve, hogy a megadott adatforrás aktuális értéke ismeretlen.
Az utasítás nem dolgozható föl.
Megjegyzés:
Egyes körülmények között a "<név>" jelsor nem tölthető fel (az SQLCA sqlerrmc mezője nincs tele).
Felhasználói válasz: Javítsa ki az SQL utasítást az objektumtábla-meghatározás megvizsgálása után annak meghatározásához, hogy a tábla mely oszlopai tartalmazzák a NOT NULL és nem tartalmazzák a WITH DEFAULT tulajdonságot!
Ha "<név>" értéke "TBSPACEID=n1, TABLEID=n2, COLNO=n3" formájú, akkor az alábbi lekérdezéssel állapítható meg a táblanév és az oszlopnév:
SELECT C.TABSCHEMA, C.TABNAME, C.COLNAME FROM SYSCAT.TABLES AS T, SYSCAT.COLUMNS AS C WHERE T.TBSPACEID = n1 AND T.TABLEID = n2 AND C.COLNO = n3 AND C.TABSCHEMA = T.TABSCHEMA AND C.TABNAME = T.TABNAME
A lekérdezés által azonosított tábla és oszlop lehet azon nézet alaptáblája is, amelyen az SQL utasítás sikertelen volt.
Egyesített rendszer felhasználói: Ha az ok ismeretlen, szűkítse a problémát a kérést meghiúsító adatforrásra (lásd a Hibafelderítés útmutatót a hibás adatforrás felderítésére szolgáló eljárásokról), és vizsgálja meg a hibát okozó adatforrás objektummeghatározását! Ne feledje, hogy az alapértelmezések (NULL és NOT NULL) nem szükségképpen ugyanazok adatforrások esetében.
sqlcode: -407
sqlstate: 23502
SQL0408N | Az érték nem kompatibilis az értékadás célpontjának típusával. A cél neve: "<név>". |
Magyarázat: Az SQL utasítás által oszlopba, paraméternek, SQL változónak vagy átmenetváltozónak szánt érték inkompatibilis az értékadás célpontjának megadott adattípusával. Mindkettőnek a következőnek kell lennie:
Az utasítás nem dolgozható föl.
Felhasználói válasz: Vizsgálja meg az utasításban, valamint esetleg a cél táblában vagy nézetben a célpont adattípusát! Gondoskodjon arról, hogy a hozzárendelt literálérték adattípusa megfelel az értékadás célpontja adattípusának!
sqlcode: -408
sqlstate: 42821
SQL0409N | Egy COUNT függvény operandusa nem érvényes. |
Magyarázat: Azt SQL utasításban megadottak szerint a COUNT függvény operandusa nem felel meg az SQL szintaxis szabályainak. Csak a COUNT(*) és COUNT(DISTINCT oszlop) engedélyezett.
Az utasítás nem dolgozható föl.
Felhasználói válasz: Adja meg a következőt: COUNT(*) vagy COUNT(DISTINCT oszlop)!
MEGJEGYZÉS: Ez az üzenet csak a DB2 2-es verzió előtti verzióira vonatkozik.
sqlcode: -409
sqlstate: 42607
SQL0410N | Több mint 30 karakteres lebegőpontos literál: "<literál>". |
Magyarázat: A megadott lebegőpontos literál több mint 30 karakter hosszú nem számolva a kezdő nullákat. Egy lebegőpontos literál maximális hossza csak 30 karakter lehet.
Az utasítás nem dolgozható föl.
Felhasználói válasz: Rövidítse a megadott literált!
sqlcode: -410
sqlstate: 42820
SQL0412N | Több oszlopot eredményezett egy olyan allekérdezés, amelyben csak egy oszlop megengedett. |
Magyarázat: SQL utasítás szövegkörnyezetében az egyesített kiválasztásnak csak egy megadott eredményoszlopa lehet.
Az utasítás nem dolgozható föl.
Felhasználói válasz: Ha csak skalár értékű egyesített kiválasztás megengedett, csak egyetlen oszlopot adjon meg!
sqlcode: -412
sqlstate: 42823
SQL0413N | Numerikus adattípus átalakítása során túlcsordulás történt. |
Magyarázat: Egy SQL utasítás feldolgozása közben túlcsordulás történt egy numerikus típusról egy másikra történő átalakítás közben. A számok átalakítása az SQL szabvány szabályai szerint történik.
Egyesített rendszer felhasználói: számok átalakítása történhet a egyesített kiszolgáló-nél vagy az adatforrásokoknál.
Az utasítás nem dolgozható föl. Nem történt adatbeolvasás, adatfrissítés vagy adattörlés.
Felhasználói válasz: Vizsgálja meg az SQL utasítás szintaxisát a hiba okának kiderítéséhez! Ha a hiba adatfüggő, akkor a hiba bekövetkeztekor feldolgozott adatokra is szükség lehet.
Egyesített rendszer felhasználói: Ha az ok ismeretlen, szűkítse a problémát a kérést meghiúsító adatforrásra (lásd a Hibafelderítés útmutatót a hibás adatforrás felderítésére szolgáló eljárásokról), és vizsgálja meg a hibát okozó adatforrás adattartomány korlátozásait!
sqlcode: -413
sqlstate: 22003
SQL0415N | Nem kompatíbilisek az összetartozó oszlopok adattípusai egy halmazműveletet tartalmazó egyesített kiválasztásban, vagy egy INSERT vagy egyesített kiválasztás VALUES tagmondatának több sorában. |
Magyarázat: Ez a hiba különféle utasításokban léphet fel.
Az oszlopok nem kompatibilisek a következő okok egyike miatt:
Ha az oszlop adattípus karakter, dátum, idő vagy időbélyeg, akkor a megfelelő oszlop karakterlánc állandó lehet.
Az utasítás nem dolgozható föl.
Felhasználói válasz: Javítsa ki a SELECT utasításban használt oszlopneveket vagy a VALUES tagmondatban levő kifejezéseket úgy, hogy minden összetartozó oszlop kompatíbilis típusú legyen!
sqlcode: -415
sqlstate: 42825
SQL0416N | UNION ALL-tól különböző halmazművelettel összekapcsolt SELECT vagy VALUES utasításokban nem adható meg 254 bájtnál hosszabb eredményoszlop. |
Magyarázat: Halmazművelettel összekötött SELECT vagy VALUES utasítások egyike 254 bájtnál hosszabb eredményoszlopot ad meg. A VARCHAR vagy VARGRAPHIC 254 bájtnál hosszabb eredményoszlopok csak a UNION ALL halmazművelettel használhatók.
Az utasítás nem dolgozható föl.
Felhasználói válasz: Vagy használja a UNION ALL műveletet a UNION helyett vagy távolítsa el a SELECT vagy VALUES utasításból a 254 bájtnál hosszabb eredményoszlopokat!
sqlcode: -416
sqlstate: 42907
SQL0417N | Egy előkészítendő utasítás-karakterlánc olyan paraméterjelzőket tartalmaz, amelyek ugyanazon műveleti jel operandusai. |
Magyarázat: PREPARE vagy EXECUTE IMMEDIATE tárgyaként megadott utasítás karakterlánc olyan predikátumot vagy kifejezést tartalmaz, amelyben paraméterjelzők vannak ugyanannak a műveletnek az operandusaként CAST megadása nélkül. Például:
? > ?
Az utasítás nem dolgozható föl.
Felhasználói válasz: Ez a szintaxis nem támogatott. Használjon CAST specifikációt legalább az egyik paraméterjelző adattípusának a megadásához!
sqlcode: -417
sqlstate: 42609
SQL0418N | Az egyik utasítás egy paraméterjelző érvénytelen használatát tartalmazza. |
Magyarázat: Típus nélküli paraméterjelzők nem használhatók:
Paraméterjelzők soha nem használhatók:
Az utasítás nem dolgozható föl.
Felhasználói válasz: Javítsa ki az állítás szintaxisát! Ha típus nélküli paraméterjelzők nem engedélyezettek, akkor a CAST specifikációval adjon adattípust a paraméterjelzőnek!
sqlcode: -418
sqlstate: 42610
SQL0419N | A decimális osztás nem érvényes, mert az eredményben negatív lenne a tizedesjegyek száma. |
Magyarázat: Egy megadott decimális osztás nem érvényes, mivel negatív lesz a tizedesjegyek száma.
A következő formula használatos az eredmény tizedesjegyeinek kiszámításához:
Eredmény tizedesjegyei = 31 - np + ns - ds
ahol np a számláló pontossága, ns a számláló tizedesjegyeinek száma és ds a nevező tizedesjegyeinek száma.
Egyesített rendszer felhasználói: tizedes osztás történhet a egyesített kiszolgáló-nél és/vagy az adatforrásokoknál. A kijelölt decimális osztás a adatforrás összetevőnél érvénytelen nagyságrendet eredményez.
Az utasítás nem dolgozható föl.
Felhasználói válasz: Vizsgálja meg minden, decimális osztásban résztvevő oszlop digitszámát és nagyságrendjét! Ne feledje, hogy egy egész szám vagy kis egész érték a számoláshoz decimálissá alakulhat át!
Egyesített rendszer felhasználói: Ha az ok ismeretlen, szűkítse a problémát a kérést meghiúsító adatforrásra (lásd a Hibafelderítés útmutatót a hibás adatforrás felderítésére szolgáló eljárásokról), és vizsgálja meg a hibát okozó adatforrás adattartomány korlátozásait!
sqlcode: -419
sqlstate: 42911
SQL0420N | Érvénytelen karakter található a "<függvénynév>" függvény argumentumát jelentő karakterláncban. |
Magyarázat: A "<függvénynév>" függvénynek olyan karakterlánc paramétere van, amely numerikus SQL állandóban érvénytelen karaktert tartalmaz. Ez a függvény lehet, hogy a CAST specifikációnak a "<függvénynév>" függvény, mint cél-adattípussal történő használatának eredményeképpen hívta meg a rendszer. Az SQL utasításban használt függvény vagy adattípus "<függvénynév>" szinonimája lehet.
Ha decimális karaktert adtak meg a DECIMAL függvényben, akkor ezt a karaktert kell az alapértelmezett tizedesjegy-karakterként használni!
Felhasználói válasz: Győződjön meg arról, hogy a számtípusra éppen átalakított karakterláncok csakis SQL állandókban érvényes karaktereket tartalmaznak a tizedes karakter használatával (ha szükséges)!
sqlcode: -420
sqlstate: 22018
SQL0421N | Egy halmazművelet vagy egy VALUES tagmondat operandusaiban eltér az oszlopok száma. |
Magyarázat: Egy halmazművelet, mint például a UNION, az EXCEPT vagy az INTERSECT operandusaiban meg kell egyeznie az oszlopszámnak. Egy VALUES tagmondatban lévő sorok oszlopszámának meg kell egyeznie.
Az utasítás nem dolgozható föl.
Felhasználói válasz: Változtassa meg úgy az SQL utasítást, hogy az összes operandusnak vagy a VALUES tagmondat minden sorának megegyezzék az oszlopszáma!
sqlcode: -421
sqlstate: 42826
SQL0423N | A LOB mutatóváltozó "<változópozíció>" pillanatnyilag nem jelöl semmilyen értéket. |
Magyarázat: Hibás az egyik mutató változó. Vagy nincs hozzárendelve LOB érték, vagy a változóhoz társított mutató felszabadult.
Ha meg van adva a "<változópozíció>", az megmutatja a hibás változó helyét a megadott változóhalmazban. Attól függően, hogy mikor történt a hiba észlelése, az adatbáziskezelő lehet, hogy nem tudja meghatározni a "<változópozíció>"-t.
Pozíció helyett a "<változó-pozíció>" értéke lehet, hogy "függvénynév RETURNS", amely azt jelenti, hogy a függvénynévvel azonosított felhasználó által megadott függvény által visszaadott mutató érték hibás.
Felhasználói válasz: Javítsa ki a programot úgy, hogy az SQL utasításban használt LOB mutató változók érvényes LOB értékkel rendelkezzenek az utasítás végrehajtása előtt! Mutató változóhoz LOB érték a SELECT INTO, a VALUES INTO vagy a FETCH utasítással rendelhető.
sqlcode: -423
sqlstate: 0F001
SQL0426N | A dinamikus véglegesítés érvénytelen ebben az alkalmazásfuttatási környezetben. |
Magyarázat: Egy CONNECT TYPE 2 vagy elosztott tranzakciókezelés (DTP) környezetben (ilyen például a CICS) futó alkalmazás SQL dinamikus COMMIT utasítást próbált meg végrehajtani. Az SQL dinamikus COMMIT utasítás nem hajtható végre ebben a környezetben.
Egyesített rendszer felhasználói: dinamikus SQL COMMIT utasítás nem hajtható végre "pass-through" szekcióban.
Felhasználói válasz:
Egyesített rendszer felhasználói: vagy tegye megjegyzésbe a COMMIT utasítást, vagy kódolja statikus utasításként! Utána küldje el újra a programot!
sqlcode: -426
sqlstate: 2D528
SQL0427N | A dinamikus visszagörgetés érvénytelen ebben az alkalmazásfuttatási környezetben. |
Magyarázat: CONNECT TYPE 2 vagy Elosztott tranzakciókezelés (DTP) környezetben (ilyen például a CICS) futó alkalmazás SQL dinamikus ROLLBACK utasítást próbált meg végrehajtani. Az SQL dinamikus ROLLBACK utasítás nem hajtható végre ebben a környezetben.
Egyesített rendszer felhasználói: dinamikus SQL ROLLBACK utasítás nem hajtható végre "pass-through" szekcióban.
Felhasználói válasz:
Egyesített rendszer felhasználói: vagy tegye megjegyzésbe a ROLLBACK utasítást, vagy kódolja statikus utasításként! Utána küldje el újra a programot!
sqlcode: -427
sqlstate: 2D529
SQL0428N | Az SQL utasítás csak munkaegység legelső sora lehet. |
Magyarázat: A kiadott SQL utasításnak minden munkaegységet kezdeményező SQL utasítás előtt kell végrehajtódnia. Az alábbiak egyike áll fenn::
Fontos megjegyezni, hogy a DISCONNECT ALL parancs a DISCONNECT parancsot hajtja végre az összes kapcsolaton, ezért a kérés meg fog hiúsulni, ha a kapcsolatok bármelyike megsérti a fenti korlátozásokat.
Felhasználói válasz: Az SQL utasítás feldolgozása előtt adjon COMMIT vagy ROLLBACK utasítást. Ha van WITH HOLD kurzor, ezeket be kell zárni. SET INTEGRITY utasítás esetén törölje a COMMIT THRESHOLD tagmondatot!
sqlcode: -428
sqlstate: 25001
SQL0429N | A program túllépte a párhuzamos LOB mutatók legnagyobb számát. |
Magyarázat: A DB2-ben legfeljebb 32,000 LOB mutató használható egyidejűleg egy munkaegységben.
Felhasználói válasz: Módosítsa a programot úgy, hogy kevesebb LOB mutatóra legyen szüksége egyszerre, majd próbálkozzék újra!
sqlcode: -429
sqlstate: 54028
SQL0430N | A felhasználó által megadott függvény ("<függvénynév>", sajátos neve "<sajátos név>") hibásan ért véget. |
Magyarázat: Hibás befejeződés történt, miközben a megnevezett UDF-nél (felhasználó által megadott függvény) volt a vezérlés.
Felhasználói válasz: Ki kell javítani az UDF-et. Vegye fel a kapcsolatot az UDF szerzőjével vagy az adatbázis adminisztrátorával! Ne használja az UDF-et, amíg ki nem javítják!
sqlcode: -430
sqlstate: 38503
SQL0431N | A felhasználó által megadott függvényt ("<függvénynév>", sajátos neve "<sajátos név>") a felhasználó megszakította. |
Magyarázat: Felhasználói/ügyfél megszakítás történt, miközben a megnevezett UDF-nél volt a vezérlés.
Felhasználói válasz: Ez az UDF-beli hibákra utalhat, például végtelen ciklusra vagy várakozásra. Ha a probléma továbbra is fennáll (azaz ugyanazzal a hibával történik a megszakítás), akkor vegye fel a kapcsolatot az UDF szerzőjével vagy az adatbázis adminisztrátorával! Ne használja az UDF-et, amíg ki nem javítják!
sqlcode: -431
sqlstate: 38504
SQL0432N | Paraméterjelző típusa nem lehet a felhasználó által megadott típusnév, sem hivatkozási céltípus: "<udt-név>". |
Magyarázat: Az utasítás egy paraméter jelzőjének típusa a felhasználási környezet alapján a felhasználó által megadott "<udt-név>" típus vagy hivatkozástípus "<udt-név>" céllal. Paraméterjelző adattípusa nem lehet felhasználó által megadott típus vagy hivatkozástípus, hacsak nem egy hozzárendelés része (INSERT VALUES tagmondata, vagy UPDATE SET tagmondata) vagy nem lett kifejezetten átalakítva egy felhasználó által megadott, eltérő adattípusra vagy hivatkozástípusra a CAST specifikáció használatával.
Az utasítás nem dolgozható föl.
Felhasználói válasz: Alakítsa át kifejezetten a paraméter jelzőt a felhasználó által megadott, eltérő adattípusra, vagy hivatkozástípusra! Vagy alakítsa át a felhasználó által megadott, eltérő adattípusú oszlopokat a megfelelő forrás adattípusra, illetve a hivatkozástípusúakat a megfelelő reprezentációs típusra!
sqlcode: -432
sqlstate: 42841
SQL0433N | Az érték túl hosszú: "<érték>". |
Magyarázat: Az "<érték>" értéket rendszer (beépített) átalakítással vagy beállító függvénnyel kellett csonkolni, amely az érték valamilyen átalakítása érdekében került meghívásra. A csonkolás nem engedélyezett ott, ahol ez az érték használatos.
Az átalakítás alatt levő változó a következők egyike:
Az utasítás meghiúsult.
Felhasználói válasz: Ha az "<érték>" az SQL utasításban lévő karakterlánc, akkor túl hosszú a szándékolt használathoz.
Ha az "<érték>" nem karakterlánc, vizsgálja meg az SQL utasítást, és megállapítsa meg, hol történik az átalakítás! Vagy az átalakítás bemenete túl hosszú, vagy a kimenet túl rövid.
Hárítsa el a problémát és futtassa újra az utasítást!
sqlcode: -433
sqlstate: 22001
SQL0434W | A "<tagmondat>" tagmondat nem támogatott értékét "<érték>" értékre cserélte a rendszer. |
Magyarázat: A "<tagmondat>" tagmondatban megadott érték nem támogatott, és a rendszer a megállapított támogatott "<érték>" értékkel cserélte ki.
Felhasználói válasz: Nincs szükség változtatásra, ha a kiválasztott érték elfogadható. Egyébként pedig adjon meg egy érvényes értéket a "<tagmondat>" tagmondatban!
sqlcode: +434
sqlstate: 01608
SQL0435N | A RAISE_ERROR függvényben megadott SQLSTATE ("<sqlstate>") érvénytelen. |
Magyarázat: A RAISE_ERROR függvényben megadott SQLSTATE nem felel meg az alkalmazásban megadott SQLSTATE megadási szabályainak.
Felhasználói válasz: Javítsa ki a RAISE_ERROR függvényben megadott SQLSTATE-et! Az SQLSTATE-nek pontosan 5 karakterből álló karakterláncnak kell lennie. 5 hosszúságú CHAR típusúnak kell lennie, vagy 5 illetve nagyobb hosszúságú VARCHAR típusúnak. Az SQLSTATE értéknek meg kell felelnie az alkalmazásban megadott SQLSTATE-ek következő szabályainak:
sqlcode: -435
sqlstate: 428B3
SQL0436N | Hiányzik a lezáró NULL karakter a C nyelvű, nullkarakterre végződő karakterlánc forrásváltozóból. |
Magyarázat: A C programozási nyelvben a bemeneti forrásváltozók értékében lezáró nullkarakternek kell lennie a karakterlánc végén.
Az utasítás nem dolgozható föl.
Felhasználói válasz: Győződjön meg arról, hogy a bemeneti forrásváltozó értékét lezáró nullkarakter zárja le!
sqlcode: -436
sqlstate: 22024
SQL0437W | Ezen összetett lekérdezés teljesítménye lehet, hogy nem a legjobb. Okkód: "<okkód>" |
Magyarázat: Az utasítás végrehajtásának teljesítménye lehet, hogy az optimálisnál kisebb lesz, mert a lekérdezés összetettsége nem elérhető erőforrásokat igényel, vagy optimalizálási határfeltételek állnak fenn. Az okkódok felsorolása következik:
Az utasítás feldolgozásra kerül.
Felhasználói válasz: Hajtson végre egyet vagy többet a következőkből:
sqlcode: +437
sqlstate: 01602
SQL0438N | Az alkalmazás hibát okozott a következő diagnosztikai szöveggel "<szöveg>". |
Magyarázat: A hiba a RAISE_ERROR függvény vagy a SIGNAL SQLSTATE utasítás triggerben történő végrehajtásának eredményeképpen lépett fel.
Felhasználói válasz: Olvassa el az alkalmazás dokumentációját!
sqlcode: -438
sqlstate: alkalmazásban megadott
SQL0439N | A "<függvénynév>" felhasználó által megadott függvényt közvetve a "<forrásfüggvény>" függvény valósítja meg, amely "<sqlcode>" hibával ért véget. |
Magyarázat: Hivatkozás történt a "<függvénynév>" függvényre a felhasználó utasításában. Mivel azonban a SOURCE tagmondat benne van a függvény definíciójában, a "<forrásfüggvény>" függvény ténylegesen megvalósítja a függvényt. (Ez lehet egy közvetlen vagy közvetett definíciós útvonal a "<függvénynév>" függvénytől a "<forrásfüggvény>" függvényig.) Fordítási időben a "<forrásfüggvény>" beágyazója (DB2 kód, amely egy függvény nevében ténykedik) az "<sqlcode>" által azonosított hibával tért vissza.
Felhasználói válasz: Mielőtt bármilyen javító művelet történne, jobban meg kell érteni a hibahelyzetet. Nézze meg az "<sqlcode>" hiba magyarázatát! Ha a "<forrásfüggvény>" beépített függvény, akkor az "<sqlcode>" hibának kell megmutatnia a problémát, mint abban az esetben, ha egy beépített függvényre közvetlen hivatkozás van a felhasználó utasításában. Ha a "<forrásfüggvény>" felhasználó által megadott függvény, az üzenet valószínűleg paraméterrel vagy a függvény eredményével kapcsolatos hibát jelez.
Hárítsa el a problémát és próbálkozzék újra!
sqlcode: -439
sqlstate: 428A0
SQL0440N | A függvény elérési útvonalán nem található "<függvénynév>" nevű függvény kompatíbilis argumentumokkal. |
Magyarázat: Ez a hibaüzenet akkor jelenik meg a "<függvénynév>" függvényre való hivatkozásban ("<függvénynév>" metódust is jelölhet), amikor az adatbáziskezelő nem talál olyan függvényt vagy metódust, amellyel megvalósíthatná a hivatkozást. Ennek több oka is lehet:
Felhasználói válasz: Javítsa ki a hibát és próbálkozzék újra! A javítás katalógushoz való hozzáférésből, az utasítás megváltoztatásából, új függvények felvételéből és/vagy a függvény elérési út megváltoztatásából állhat.
sqlcode: -440
sqlstate: 42884
SQL0441N | A DISTINCT vagy ALL kulcsszó használata a "<függvénynév>" függvényben érvénytelen. |
Magyarázat: Sok lehetséges ok létezik:
Felhasználói válasz:
Javítsa ki a hibát, és próbálkozzék újra!
sqlcode: -441
sqlstate: 42601
SQL0442N | Hibás rutinhivatkozás: "<rutin_neve>". Túllépte az argumentumok megengedett legnagyobb számát (90). |
Magyarázat: A "<rutin_neve>" rutinra hivatkozásban túl sok paraméter szerepelt. Legfeljebb 90 paraméter szerepelhet.
Felhasználói válasz: Javítsa ki az utasítást azzal, hogy biztosítja a megfelelő számú paraméter használ, és próbálkozzék újra!
sqlcode: -442
sqlstate: 54023
SQL0443N | A rutin ("<rutin_neve>", sajátos neve "<sajátos név>") SQLSTATE hibát eredményezett, a következő diagnosztikai szöveggel "<szöveg>". |
Magyarázat: A rutin ("<rutinnév>", sajátos neve "<sajátos név>") 38xxx formájú SQLSTATE-et adott vissza a DB2-nek, amelyben a "<szöveg>" szöveg szerepelt. A rutin lehet felhasználó által megadott függvény vagy felhasználó által megadott metódus.
Felhasználói válasz: A felhasználónak meg kell értenie a hiba jelentését. Vegye fel a kapcsolatot az adatbázis adminisztrátorával vagy az rutin szerzőjével!
Az IBM által adott, a SYSFUN sémában levő függvények hiba esetén SQLSTATE 38552-t adnak vissza. Az üzenet szöveges részének a következő a formája:
SYSFUN:nn
ahol nn az okkód, és a következőket jelenti:
sqlcode: -443
sqlstate: 38xxx (a rutin által visszaadott SQLSTATE).
SQL0444N | A rutin ("<rutinnév>", sajátos neve "<sajátos név>") használja a "<könyvtár vagy elérési út>" útvonalon vagy könyvtárban levő "<függvénykód-azonosító>" függvényt, az viszont nem érhető el. Okkód: "<kód>". |
Magyarázat: A DBMS megpróbál hozzáférni a rutin ("<rutinnév>", sajátos neve "<sajátos név>") megvalósító kód törzséhez, de nem tudja ezt megtenni a "<kód>" okkódban megjelölt ok miatt (a kódok felsorolását lásd lentebb). A rutint megvalósító fájlt a "<könyvtár vagy elérési út>", a függvényt a "<függvénykód-azonosító>" azonosítja.
(Megjegyzés: a két utolsó vezérjel lehet, hogy csonkolódik a teljes vezérjelhossz korlátozásai miatt. Ha ez megtörténik, lehet, hogy a rutinhoz definiált teljes könyvtár vagy elérési út, illetve függvénykód-azonosító meghatározásához a függvény definíciójához a katalógusokban kell elérni.)
Felhasználói válasz: Az okkódok jelentései:
OS/2 alatt ez a hiba akkor jelentkezik, ha az UDF DLL neve nem fér bele a (8.3)-as formátumba. Az "abcdefgh99.dll" név formátuma például (10.3)-as formátumú, és ezt az üzenetet adja vissza 4-es okkóddal. A megoldás a név megfelelő formára hozása, például "abcdef99.dll".
A fentieken túl ez az okkód keletkezhet akkor is, ha a rutinnak megosztott könyvtárra vagy DLL-re van szüksége, de a megosztott könyvtár nem található (UNIX-alapú rendszereknél a LIBPATH, INTEL rendszereknél a PATH környezeti változóban található könyvtárak összefűzésével). Az átirányításnak több szintje vezethet ehhez az okkódhoz. Például az X rutintörzs megtalálható és szüksége van az Y megosztott könyvtárra, amely szintén megtalálható. De az Y-nak szüksége van Z-re és Z nem található meg, ez SQL0444N 4-es okkódot fog eredményezni.
Ha ezen információ alapján nem sikerül diagnosztizálni a hibát, a db2diag.log nevű diagnosztikai naplófájl tartalmaz információt a hibáról. Ez segíthet a probléma elkülönítésében. Lehet, hogy a rendszergazda segítségét kell kérni.
Egyesített rendszer felhasználói: ha ez a felhasználó által megadott függvény egy függvényminta (tehát nincs szükség kódra a egyesített kiszolgáló-n), akkor érdemes lehet módosítania az SQL utasítást illetve statisztikát annak érdekében, hogy ez a függvény a távoli adatforráson legyen kiértékelve.
sqlcode: -444
sqlstate: 42724
SQL0445W | Az érték ("<érték>") csonkult. |
Magyarázat: Az értéket ("<érték>") egy rendszer (beépített) átalakító vagy beállító függvény csonkolta, amely az érték valamilyen átalakítása érdekében került meghívásra. Ez egy figyelmeztetés.
Az átalakítás alatt álló érték egy rutin (felhasználó által megadott függvény (UDF) vagy metódus) kimenete, és azért kerül átalakításra, mert van egy CAST FROM specifikáció a rutindefinícióban, vagy azért, mert a rutin egy másik függvényen alapul, és át kell alakítani az eredményt.
Felhasználói válasz: Győződjön meg róla, hogy a kimenet megfelelő, és hogy a csonkolás nem okozott nem várt következményeket!
sqlcode: +445
sqlstate: 01004
SQL0447W | Az utasítás redundáns specifikációt tartalmaz, ennek része a "<tagmondat>" tagmondat. |
Magyarázat: A "<tagmondat>" kulcsszó egynél többször szerepelt az utasításban. Ez egy figyelmeztető üzenet.
Felhasználói válasz: Ha a redundancia szándékos volt, vagy nem okozott hibát, akkor nem kell semmit sem tennie. Az említett "hiba" lehet például más, kívánt kulcsszó elhagyása.
sqlcode: +447
sqlstate: 01589
SQL0448N | Hiba a rutindefinícióban: "<rutinnév>". Túllépte a paraméterek megengedett legnagyobb számát (90 felhasználó által megadott függvények és metódusok esetén, 32767 tárolt eljárások esetén). |
Magyarázat: Túl sok a megadott paraméter a rutindefinícióban: "<rutinnév>". A rutindefiníciós utasítás lehet CREATE FUNCTION, CREATE PROCEDURE, CREATE TYPE (metódusdefiníció) vagy ALTER TYPE (metódusdefiníció).
Felhasználói válasz: Használjon kevesebb paramétert az utasításban!
sqlcode: -448
sqlstate: 54023
SQL0449N | A rutint ("<rutinnév>") definiáló CREATE utasításban hibás formátumú külső könyvtár/függvényazonosítás szerepel az EXTERNAL NAME tagmondatban. |
Magyarázat: Hiba történt a felhasználó által megadott "<függvénynév>" függvény (UDF), felhasználó által megadott metódus vagy tárolt eljárás CREATE utasításának EXTERNAL NAME tagmondatában. A könyvtár/függvény azonosításának szabályai a következőek:
A név alakja: '<a>!<b>' vagy '<a>'. Nem lehetnek üres karakterek az idézőjeleken belül. <a> az alábbiak egyike:
Ha <b> nem szerepel, az alapértelmezés az a belépési pont, amely a megnevezett fájl szerkesztésekor került megadásra. Ha <b> szerepel, ez azonosítja az <a>-n belüli belépési pontot (függvényt), amely a rutin törzseként kerül meghívásra.
Felhasználói válasz: Hárítsa el a problémát és próbálkozzék újra! Egy lehetséges hibaok, hogy üres karakter szerepel, vagy '!' áll a név elején vagy végén.
sqlcode: -449
sqlstate: 42878
SQL0450N | Egy rutin ("<rutinnév>", sajátos név "<sajátos név>") túl hosszú eredményt, SQLSTATE értéket, üzenetet vagy jegyzetlapot állított elő. |
Magyarázat: A rutinból ("<rutinnév>", sajátos neve: "<sajátos név>") való visszatéréskor a DB2 több bájt visszaadását észlelte, mint amennyi a következők valamelyikének került lefoglalásra:
A rutinban levő eredményargumentum meghatározásának meg kell felelnie a típuskövetelményeknek. További tájékoztatást a Application Development Guide című kiadványban talál.
Ez nem engedélyezett.
Ez a hiba jelentkezik akkor is, ha a jegyzetlap hosszúság mezőjét megváltoztatja a rutin.
Felhasználói válasz: Vegye fel a kapcsolatot az adatbázis adminisztrátorával vagy az rutin szerzőjével!
sqlcode: -450
sqlstate: 39501
SQL0451N | Az "<adatelem>" definíció a "<rutinnév>" rutin definíciójában olyan adattípust tartalmaz ("<típus>"), amely nem felel meg az adott nyelven írt forrás nélküli rutinnak. |
Magyarázat: A rutint ("<rutinnév>") definiáló utasítás "<adatelem>" részében hiba található. A felhasználó utasítása az érvénytelen "<típus>" típust, vagy egy olyan felhasználó által megadott típust (UDT) tartalmazott, amely az érvénytelen "<típus>" típuson alapul. A rutindefiníciós utasítás lehet CREATE FUNCTION, CREATE PROCEDURE, CREATE TYPE (metódusdefiníció) vagy ALTER TYPE (metódusdefiníció).
"<adatelem>" az a jelsor, amely a hiba területét azonosítja az utasításban. Például "PARAMETER 2", "RETURNS" vagy "CAST FROM".
Felhasználói válasz: Határozza meg, hogy melyik eset áll fenn, és javítsa ki a hibát! A lehetséges javító műveletek többek között a következőek:
sqlcode: -451
sqlstate: 42815
SQL0452N | Nem érhető el a forrásváltozó ("<változó-pozíció>") által megjelölt fájl. Okkód: "<okkód>" |
Magyarázat: Hiba történt az "n-edik" forrásváltozó által hivatkozott fájlhoz való hozzáférési kísérlet vagy hozzáférés közben, ahol n = "<változó-pozíció>". A hiba okát az "<okkód>" adja meg. Ha a forrásváltozó pozícióját nem lehetett meghatározni, a "<változó-pozíció>" értéke 0. A lehetséges okkódok a következők:
SQL_FILE_READ -olvasás létező fájlból SQL_FILE_CREATE -új fájl létrehozása írásra SQL_FILE_OVERWRITE -létező fájl felülírása. Ha a fájl nem létezik, a fájl létrehozása. SQL_FILE_APPEND -hozzáfűzés létező fájlhoz. Ha a fájl nem létezik, a fájl létrehozása.
Felhasználói válasz:
A 01-es okkód esetén javítsa ki a fájlnév hosszát, a fájlnevet és/vagy az elérési útvonalat!
A 02-es okkód esetén adjon meg érvényes fájl opciót!
A 03-as okkód esetén ellenőrizze, hogy a megadott fájl létezik, mielőtt megkísérelne hozzáférni!
A 04-es okkód esetén vagy törölje le a fájlt, ha már nincs rá szüksége, vagy adjon meg olyan fájlnevet, amely még nem létezik!
A 05-ös okkód esetén ellenőrizze, hogy a felhasználónak van-e hozzáférése (megfelelő fájl engedélyei) a fájlhoz!
A 06-os okkód esetén vagy használjon másik fájlt, vagy, ha hozzá kell férnie a fájlhoz, módosítsa az alkalmazást, hogy ne legyen egyidejű hozzáférés a fájlhoz!
A 07-es okkód esetén a lemezterület felszabadítása érdekében töröljön le szükségtelen fájlokat, vagy adjon meg olyan fájlt, amely másik, elegendő lemezhellyel rendelkező meghajtón/fájlrendszerben van! Ellenőrizze azt is, hogy nem ért-e el operációs rendszer vagy felhasználói fájlméret korlátokat! Ha az alkalmazás kódlapja több-bájtos kódolási sémát használ, lehetséges, hogy az utolsó karakternek csak egy része került írásra, ezért ellenőrizze, hogy a fájl csak teljes karaktereket tartalmaz!
A 08-as okkód esetén, ha fájlt használ bemenetként, győződjön meg róla, hogy a fájl nem módosul, mielőtt megtörténne a teljes beolvasása!
A 09-es okkód esetén javítsa ki az összes hibát azon az adathordozón, amelyen a fájl található!
A 10-es okkód esetén győződjön meg róla, hogy a fájl érvényes, az alkalmazás kódlapja szerinti több-bájtos karaktereket tartalmaz, vagy akkor adja ki a kérést, amikor megegyezik az alkalmazás és a fájl kódlapja!
A 11-es okkód esetén győződjön meg róla, hogy a fájl kódlapja, például Japanese EUC, és az alkalmazás grafikus kódlapja, például UCS-2, közötti karakter-átalakítás támogatása telepítve van!
sqlcode: -452
sqlstate: 428A1
SQL0453N | Hiba van a rutinra ("<rutinnév>") vonatkozó CREATE utasítás RETURNS tagmondatában. |
Magyarázat: Hiba történt a rutin ("<függvénynév>") eredményének átalakításánál. A CAST FROM adattípus nem alakítható át a RETURNS adattípusra, pedig átalakíthatónak kellene lennie. Az adattípusok közti átalakításról részletesen itt olvashat: SQL Reference.
Felhasználói válasz: Változtassa meg a RETURNS vagy CAST FROM tagmondatot úgy, hogy a CAST FROM adattípus átalakítható legyen a RETURNS adattípusra!
sqlcode: -453
sqlstate: 42880
SQL0454N | A rutin ("<rutinnév>") definíciójához megadott aláírás egyezik egy másik, a sémában szereplő rutinéval vagy a típuséval. |
Magyarázat: Egy függvény deklarációs része a függvénynévből, a függvény paramétereinek számából és egy rendezett listából áll, amelyben a paraméterek típusai vannak (tekintet nélkül a típusok paramétereire).
Egy metódus aláírása a metódusnévből, a metódus paramétereinek számából és egy rendezett listából áll, amelyben a paraméterek típusai vannak (tekintet nélkül a típusok paramétereire).
Egy eljárás deklarációs része az eljárás nevéből és az eljáráshoz megadott paraméterek számából áll (adattípust nem vesz figyelembe).
Jelen esetben az alábbiak egyike lehetséges:
Az utasítás nem dolgozható föl.
Felhasználói válasz: Határozza meg, hogy a létező szolgáltatja-e a kívánt funkcionalitást! Ha nem, akkor változtatni kell a rutin aláírásán, például a nevet kell megváltoztatni.
sqlcode: -454
sqlstate: 42723
SQL0455N | A rutinban ("<függvénynév>") a SPECIFIC névhez megadott sémanév ("<sémanév>") más, mint a rutin sémaneve ("<sémanév>"). |
Magyarázat: Ha a SPECIFIC név (sajátos név) két részből áll, a "<sémanév1>" résznek meg kell egyeznie a "<rutinnév>" "<sémanév2>" részével. Fontos megjegyezni, hogy a "<rutinnév>" "<sémanév2>" része lehet, hogy közvetlenül meg lett adva, vagy lehet, hogy az alapértelmezés szerinti értéket vette fel! Ez az érték az utasítás jogosultságazonosítója. Ha a rutin metódus, "<sémanév>" a metódus tárgytípusának sémaneve.
Felhasználói válasz: Javítsa ki az utasítást és próbálkozzék újra!
sqlcode: -455
sqlstate: 42882
SQL0456N | A rutinban ("<rutinnév>") megadott SPECIFIC név ("<sajátos név>") már szerepel a sémában. |
Magyarázat: A felhasználó megadott egy SPECIFIC nevet ("<sajátos név>") a "<rutinnév>" rutin CREATE utasításában, de ez a név már létezik, mint a séma egy függvényének, metódusának vagy eljárásának SPECIFIC neve.
Felhasználói válasz: Válasszon új SPECIFIC nevet és próbálkozzék újra!
sqlcode: -456
sqlstate: 42710
SQL0457N | A "<név>" nem használható függvény, metódus, felhasználó által megadott adattípus vagy strukturált adattípus neveként, mivel azt a rendszer saját használatra tartja fenn. |
Magyarázat: A felhasználói függvényt, felhasználói adattípust vagy strukturált adattípust nem lehet létrehozni, mert a megadott nevet a rendszer saját használatára tartja fenn. Az alábbi neveket nem lehet használni függvénynévként, megkülönböztetett típusnévként, típusnévként vagy tulajdonságnévként:
"=","<",">",">=","<=","&=","&>",,"&<", "!=","!>","!<","<>", SOME, ANY, ALL, NOT, AND, OR, BETWEEN, NULL, LIKE, EXISTS, IN, UNIQUE, OVERLAPS, SIMILAR és MATCH.
Felhasználói válasz: Válasszon olyan nevet a függvény, metódus, felhasználói adattípus vagy strukturált adattípus tulajdonság számára, amely nincs fenntartva a rendszer számára.
sqlcode: -457
sqlstate: 42939
SQL0458N | Az aláírással hivatkozott rutin ("<rutinnév>") nem található. |
Magyarázat: Az aláírással hivatkozott függvény, metódus vagy tárolt eljárás ("<rutinnév>") nem található.
Paramétert fogadni képes adattípus használatakor a típusparaméter nem kötelező. Például CHAR(12), esetén meg is adható (CHAR(12)) vagy el is hagyható ((CHAR()) a paraméter. Ha megadja a paramétert, akkor a DBMS csak olyan egyezést fogad el, ahol az adattípus ÉS az adattípus paraméter is egyezik. Ha elhagyja a paramétert, akkor a DBMS csak az adattípust veszi figyelembe az egyeztetéskor. A CHAR() szintaxis azt jelenti, hogy DBMS ne vegye figyelembe az adattípusparamétereket az egyező függvény keresésekor.
Azt is meg kell jegyezni, hogy a DROP FUNCTION/PROCEDURE és a COMMENT ON FUNCTION/PROCEDURE utasításokban a minősítetlen hivatkozásokat a rendszer az utasítás jogosultságazonosítójával jelöli meg, és ez az a séma, ahol a probléma megtalálható. A CREATE függvény SOURCE tagmondatában a minősítés az aktuális függvény elérési útvonalból származik. Ebben az esetben nincs egyező függvény az egész elérési útvonalban.
A függvény nem származhat a COALESCE, NULLIF, NODENUMBER, PARTITION, RAISE_ERROR, TYPE_ID, TYPE_NAME, TYPE_SCHEMA, vagy VALUE beépített függvényekből.
Az utasítás nem dolgozható föl.
Felhasználói válasz: Lehetséges teendők:
sqlcode: -458
sqlstate: 42883
SQL0461N | "<forrás adattípus>" adattípusú érték nem alakítható át "<cél adattípus>" típusúvá. |
Magyarázat: Az utasításban van egy CAST rész, amelynek első operandusa "<forrás adattípus>" típusú, és ezt kellene átalakítani a "<cél adattípus>" típusra. Ez az átalakítás nem támogatott.
Felhasználói válasz: Változtassa meg vagy a forrás vagy a cél adattípusát úgy, hogy az átalakítás támogatott legyen! Az előre megadott adattípusokra ez az SQL kézikönyvben vannak leírva. Ha az átalakításban szerepel felhasználó által megadott megkülönböztetett típus, az átalakítás történhet az alap adattípus és a felhasználó által megadott megkülönböztetett típus között, illetve egy olyan adattípus és a felhasználó által megadott megkülönböztetett típus között, amely átalakítható az alap adattípusra.
sqlcode: -461
sqlstate: 42846
SQL0462W | A rutin ("<rutinnév>", sajátos neve "<sajátos név>") SQLSTATE figyelmeztetést eredményezett, a következő diagnosztikai szöveggel: "<szöveg>". |
Magyarázat: 01Hxx formájú SQLSTATE értéket adott vissza a DB2-nek a rutin ("<rutinnév>", sajátos neve "<sajátos név>"), amelyben "<szöveg>" szöveg szerepelt.
Felhasználói válasz: A felhasználónak meg kell értenie a figyelmeztetés jelentését. Vegye fel a kapcsolatot az adatbázis adminisztrátorával vagy a rutin szerzőjével!
sqlcode: +462
sqlstate: 01Hxx
SQL0463N | A rutin "<rutinnév>", sajátos neve "<sajátos név>") érvénytelen "<state>" SQLSTATE-et eredményezett, a következő diagnosztikai szöveggel: "<szöveg>". |
Magyarázat: A rutinok által visszaadható SQLSTATE értékek a következők: 38xxx (hiba), 38502 (hiba) és 01Hxx (figyelmeztetés). A rutin ("<rutinnév>", sajátos név: "<sajátos név>") érvénytelen SQLSTATE-et ("<állapot>") és "<szöveg>" üzenetszöveget adott vissza. A rutin hibás.
Felhasználói válasz: Ki kell javítani a rutint. Vegye fel a kapcsolatot az adatbázis adminisztrátorával vagy a rutin szerzőjével! A hibás SQLSTATE-nek az alkalmazás szempontjából való jelentőségét is megtudhatja a rutin szerzőjétől.
sqlcode: -463
sqlstate: 39001
SQL0464W | Az "<elj>" eljárás "<szám>" lekérdezési eredményhalmazt adott vissza, ami meghaladja a megadott korlátot ("<egész>"). |
Magyarázat: Az elj nevű tárolt eljárás normál módon fejeződött be. Azonban túllépte a visszaadható lekérdezési eredményhalmazok számának megadott korlátját.
A lehetséges okok a következők: A tárolt eljárás nem képes szám eredményhalmazt visszaadni az ügyfél DRDA korlátozásai miatt. A DRDA ügyfél ezt a korlátot a MAXRSLCNT DDM kódponttal határozza meg.
Felhasználói válasz: Az SQL utasítás sikeres. Az SQLWARN9 mező értéke 'Z'.
sqlcode: +464
sqlstate: 0100E
SQL0465N | Nem sikerült elindítani, inicializálni, vagy kommunikációra bírni az elkerített módú folyamatot. Okkód: "<kód>". |
Magyarázat: Rendszerhez kapcsolódó hiba van egy elkerített módú rutin (felhasználó által megadott függvény vagy metódus) futtatásában. A hiba pontos mivoltát a "<kód>" okkód mutatja. Ez NEM felhasználói hiba. A lehetséges okkódok:
Rutinfeldolgozási hibák
Ügynök folyamathibák
Felhasználói válasz: Vegye fel a kapcsolatot az adatbázis vagy a rendszer adminisztrátorával!
sqlcode: -465
sqlstate: 58032
SQL0466W | Az eljárás ("<eljárásnév>") "<szám_eredmények>" eredményhalmazokat ad vissza a tárolt eljárásból. |
Magyarázat: Ez az üzenet egy CALL SQL utasítás kiadásának eredményeképpen került visszaadásra. Ez azt jelzi, hogy a tárolt eljáráshoz ("<eljárásnév>") "<szám_eredmények>" eredményhalmaz van hozzárendelve.
Az utasítás sikeresen lezajlott.
Felhasználói válasz: Nem kell semmit sem tenni.
sqlcode: +466
sqlstate: 0100C
SQL0467W | Az eljárás "<eljárásnév>" másik eredményhalmazt tartalmaz. Összesen "<szám_eredmények>" eredményhalmaz van. |
Magyarázat: Ez az üzenet egy kurzor bezárásának eredménye. Azt jelzi, hogy egy tárolt eljáráshoz ("<eljárásnév>") másik eredményhalmaz is létezik, és a kurzor a következő eredményhalmazon lett megnyitva. Összesen "<szám_eredmények>" eredményhalmaz származik a tárolt eljárásból.
Az utasítás sikeresen lezajlott.
Felhasználói válasz: Nem kell semmit sem tenni. A FETCH műveletek folytatódhatnak a következő eredményhalmazon.
sqlcode: +467
sqlstate: 0100D
SQL0469N | Az eljárásban ("<eljárásnév>", specifikus név: "<specifikus_név>") az egyik paraméterhez tartozó paramétermód (IN, OUT vagy INOUT) nem érvényes (a paraméter száma "<szám>", neve "<paraméternév>"). |
Magyarázat: A következő hibák egyike történt:
Felhasználói válasz: Vagy változtassa a paraméter tulajdonságát INOUT értékre, vagy változtassa meg az eljáráson belül a paraméter felhasználási módját!
sqlcode: -469
sqlstate: 42886
SQL0470N | A "<rutin-név>" nevű felhasználó által megadott rutin (specifikus név "<specifikus-név>"), nem átadható null értékű paraméterrel ("<argumentum>") rendelkezik. |
Magyarázat: Egy rutin null értékű bemenő argumentummal rendelkezik, de olyan paraméterstílussal van definiálva, amely nem ad át null jelzőket, vagy a paraméter adattípusa nem támogatja a null értékeket.
Felhasználói válasz: Ha a rutint null értékkel kell hívni, biztosítsa, hogy a paraméterstílus és a bemenő típusok képesek null értéket elfogadására! Függvények esetén a függvényeket "RETURNS NULL ON NULL INPUT" lehet létrehozni.
sqlcode: -470
sqlstate: 39004
SQL0471N | A "<név>" rutin hívása sikertelen volt az "<okkód>" ok miatt. |
Magyarázat: A "<név>" rutint hívták meg a DB2 Universal Database for OS/390 kiszolgálón. A rutin meghívása sikertelen volt, mivel az DB2 "<okkód>" által leírt feltétel állt elő.
Az utasítás nem hajtható végre. A hibát leíró DSNX9xx üzenet esetleg megjelenhet az MVS rendszer konzolon.
Felhasználói válasz: Nézze meg a DB2 Universal Database for OS/390 kiszolgáló dokumentációját, majd hárítsa el a DB2 okkód által megadott feltételt!
sqlcode: -471
sqlstate: 55023
SQL0473N | Felhasználó által megadott adattípus nem hozható létre rendszer által előre definiált típussal megegyező néven. |
Magyarázat: A létrehozandó adattípusnak olyan minősítetlen neve van, amely megegyezik egy előre megadott rendszer-adattípussal, vagy BOOLEAN. Ez nem engedélyezett. Határolójelek felvétele sem teszi érvényessé a nevet.
Az utasítás nem dolgozható fel.
Felhasználói válasz: Javítsa ki az utasítást úgy, hogy más azonosítót használjon!
sqlcode: -473
sqlstate: 42918
SQL0475N | A SOURCE függvény eredménytípusa ("<típus1>") nem alakítható át a felhasználói függvény ("<függvénynév>") RETURNS típusává ("<típus2>"). |
Magyarázat: Annak érdekében, hogy egy felhasználó által megadott forrásos függvény (UDF) létrehozása sikeres legyen, a forrásfüggvény eredménytípusának ("<típus-1>") létrehozandó függvény RETURNS típusává ("<típus-2>") átalakíthatónak kell lennie. Nincs támogatott átalakítás ezen adattípusok között. Az adattípusok közti átalakításról részletesen itt olvashat: SQL Reference.
Felhasználói válasz: Változtassa meg a RETURNS adattípust vagy a SOURCE függvénymegadást úgy, hogy a SOURCE függvény eredménytípusa átalakítható legyen a RETURNS adattípusra!
sqlcode: -475
sqlstate: 42866
SQL0476N | Aláírás nélküli hivatkozás történt a "<függvénynév>" rutinra, viszont a rutin nem egyedi a sémán belül. |
Magyarázat: Lehet hivatkozni függvényre vagy tárolt eljárásra a deklarációs rész teljes megadása nélkül, de a megnevezett "<függvénynév>" függvénynek vagy tárolt eljárásnak egyedinek kell lennie a sémájában, és a jelen esetben nem az. Ha a rutin metódus, megengedett az aláírás nélküli hivatkozás, de ennek a névvel ellátott metódusnak egyedinek kell lennie az adattípusra nézve.
Fontos megjegyezni, hogy a DROP FUNCTION/PROCEDURE és a COMMENT ON FUNCTION/PROCEDURE utasításokban a minősítetlen hivatkozásokat a rendszer az utasítás jogosultságazonosítójával jelöli meg, és ez az a séma, ahol a probléma megtalálható. A CREATE FUNCTION SOURCE tagmondatában a minősítés az aktuális függvény elérési útvonalból származik. Ebben az esetben az elérési útvonalban levő első séma, amely ilyen nevű függvényt tartalmaz, tartalmaz más, ilyen névvel rendelkező függvényeket is.
Egyesített rendszer felhasználói: átjárás szekció esetén ha az utasítás CREATE FUNCTION MAPPING, akkor ez a hiba azt jelzi, hogy kísérlet történt egy távoli függvénynek egynél több helyi függvényre történő leképzésére.
Felhasználói válasz: Javítsa ki a hivatkozást a következők egyikének használatával:
Ezután próbálkozzék újra!
sqlcode: -476
sqlstate: 42725
SQL0478N | Az "<objektumtípus1>" objektumtípust nem lehet eldobni, mivel van egy "<objektumtípus2>" típusú, "<objektumnév>" objektum, amely függ tőle. |
Magyarázat: Az alapobjektum, amely "<objektumtípus1>" típusú, nem dobható el, mert egy másik objektum függ tőle. Korlátozó függőség létezik az "<objektumtípus2>" típusú objektumokra (ilyen például az "<objektumnév>").
Lehet, hogy a függőség közvetett. Ez azt jelenti, hogy a megnevezett objektum egy másik objektumtól függ, és az függ az eldobandó objektumtól.
Például:
Felhasználói válasz: Vagy ne dobja el az objektumot, vagy dobja el először a függő objektumokat!
sqlcode: -478
sqlstate: 42893
SQL0480N | Az eljárásra ("<eljárásnév>") vonatkozó hívás eddig nem történt. |
Magyarázat: Vagy az ALLOCATE CURSOR vagy ASSOCIATE LOCATORS utasításban megadott eljárást az alkalmazási folyamat eddig még nem hívta meg, vagy hívta ugyan, de az utasítás előtt explicit vagy implicit véglegesítés történt.
Felhasználói válasz: Úgy javítsa ki az utasításokat, hogy a CALL utasításban az eljárás megadásának szintaxisa pontosan egyezzen az ASSOCIATE LOCATORS utasításban szereplővel. Ha a CALL utasításban minősítetlen név szerepel, az egy részből álló nevet kell használni a többi utasításban is. Adja ki újra az utasításokat!
sqlcode: -0480
sqlstate: 51030
SQL0481N | A GROUP BY tagmondatban az "<elem1>" be van ágyazva az "<elem2>" belsejébe. |
Magyarázat: A következő típusú beágyazások nem engedélyezettek a GROUP BY tagmondaton belül:
ahol GEL azt az elemet jelöli, amely csoportosítókifejezés-lista néven jelenik meg a GROUP BY tagmondat szintaxisdiagramján.
Néhány példányban a "---" érték megjelenik az "<elem2>" elemhez. Ebben az esetben a "---" a CUBE, ROLLUP, GROUPING SET vagy GEL közül valamelyiket jelenti.
Az utasítás nem dolgozható föl.
Felhasználói válasz: Távolítsa el a beágyazást a GROUP BY tagmondatból!
sqlcode: -481
sqlstate: 428B0
SQL0483N | A felhasználó által megadott ("<függvénynév>") függvény CREATE utasításában a paraméterek száma más, mint a SOURCE függvény paramétereinek száma. |
Magyarázat: Kísérlet történt egy felhasználó által megadott "<függvénynév>" függvény létrehozására, amelynek egy másik függvény a forrása. A következő helyzetek valamelyike áll fenn:
Felhasználói válasz: A forrásfüggvény és a létrehozandó függvény paraméterei számának meg kell egyezniük. A forrásfüggvény azonosítását meg kell változtatni:
Az is lehet, hogy a függvény elérési utat kell kijavítani a helyes függvényfeloldás érdekében.
sqlcode: -483
sqlstate: 42885
SQL0486N | A BOOLEAN adattípus jelenleg csak belül támogatott. |
Magyarázat: Az utasítás egy vagy több adattípusa BOOLEAN. Ez nem támogatott a DB2 aktuális verziójában.
Felhasználói válasz: Változtassa meg az adattípus(oka)t, és küldje el újra az utasítást!
sqlcode: -486
sqlstate: 42991
SQL0487N | A rutin ("<rutinnév>", sajátos neve "<sajátos név>") SQL utasítást próbált végrehajtani. |
Magyarázat: A rutin törzsének megvalósítására használt programban nem hajthatók végre SQL utasítások. A rutin ("<rutinnév>", sajátos neve "<sajátos név>") SQL utasításokat tartalmaz.
Felhasználói válasz: Távolítsa el az SQL utasításokat, és fordítsa újra a programot! Tárolt eljárások esetén vizsgálja meg az SQL megengedett szintjét a rutint definiáló utasításban!
sqlcode: -487
sqlstate: 38001
SQL0489N | A függvény ("<függvénynév>") egy SELECT vagy VALUES listaelemben BOOLEAN eredményt adott. |
Magyarázat: A függvény ("<függvénynév>") predikátumként való használatra van definiálva, és logikai eredményt ad vissza. Ilyen eredmény nem érvényes SELECT listában.
Az utasítás nem dolgozható föl.
Felhasználói válasz: Javítsa ki a függvénynevet vagy törölje!
sqlcode: -489
sqlstate: 42844
SQL0491N | Rutint ("<rutinnév>") definiáló CREATE utasításban lennie kell RETURNS tagmondatnak, valamint vagy EXTERNAL tagmondatnak (más kötelező kulcsszavakkal együtt), vagy RETURNS utasításnak vagy SOURCE tagmondatnak. |
Magyarázat: Egy kötelező tagmondat hiányzik a "<rutinnév>" rutin meghatározásából. Ha EXTERNAL volt megadva, a következőket szintén meg kell adni: LANGUAGE, PARAMETER STYLE, DETERMINISTIC vagy NOT DETERMINISTIC, NO SQL és EXTERNAL ACTION vagy NO EXTERNAL ACTION.
Felhasználói válasz: Adja az utasításhoz a hiányzó tagmondatot, majd próbálja újra!
sqlcode: -491
sqlstate: 42601
SQL0492N | Hibás a felhasználói függvényt ("<függvénynév>") definiáló CREATE utasításban "<szám>". paraméter. Esetleg eltér a SOURCE függvénytől. |
Magyarázat: A "<függvénynév>" függvény "<szám>" pozícióban levő paramétere hibás, így a CREATE nem hajtható végre. A forrásfüggvény "<szám>" pozícióbeli paramétere nem alakítható át a létrehozandó függvény megfelelő paraméterévé.
Felhasználói válasz: Lehetséges javítások:
sqlcode: -492
sqlstate: 42879
SQL0493N | A rutin ("<rutinnév>", sajátos neve "<sajátos név>") szintaktikusan vagy numerikusan érvénytelen dátum vagy időbélyeg értéket eredményezett. |
Magyarázat: A felhasználó által megadott függvény vagy metódus ("<rutinnév>", sajátos név: "<sajátos név>") érvénytelen dátumot, időpontot vagy időbélyeg értéket adott vissza.
Például így néz ki egy érvénytelen dátum: '1994-12*25' (a '*' helyett '-' karakternek kellene állnia). Példa érvénytelen időpont értékre: '11.71.22' (nincs 71. perc az órában).
Felhasználói válasz: A rutint ki kell javítani. Vegye fel a kapcsolatot az adatbázis adminisztrátorával vagy a rutin szerzőjével!
sqlcode: -493
sqlstate: 22007
SQL0495N | A "<becslés1>" processzormásodpercnyi becsült processzorköltség ("<becslés2>" szervizegység) a "<költségkategória>" költségkategóriában meghaladja az erőforrások határának "<határérték>" szervizegységnyi hibaküszöbét. |
Magyarázat:
A dinamikus INSERT, UPDATE, DELETE, vagy SELECT SQL utasítások előkészítésekor készített költségbecslés túllépte azt a hibaküszöböt, amely az erőforrások határspecifikációs táblájában (RLST) meg van adva.
Ez a hiba akkor is fellép, ha a DB2 költségkategória-értéke "B", valamint az RLST RLF_CATEGORY_B oszlopában megadott alapértelmezett teendő a hibaüzenet küldése.
A dinamikus INSERT, UPDATE, DELETE vagy SELECT utasítás előkészítése sikertelen.
Felhasználói válasz: Ha ez az SQLCODE tért vissza, mert a költségkategória értéke "B", ez azt is jelentheti, hogy az utasítás paraméterjelzőket használ vagy egyes statisztikák nem érhetők el a hivatkozott táblákra vagy oszlopokra. Ellenőrizze, hogy az adminisztrátor lefuttatta-e a RUNSTATS segédprogramot a hivatkozott táblákra! Az is lehetséges, hogy UDF-ek hívódnak meg az utasítás végrehajtásakor, vagy hogy INSERT, UPDATE, vagy DELETE utasításoknál a módosított táblára triggereket definiáltak. Ellenőrizze az utasítás DSN_STATEMNT_TABLE vagy IFCID 22 rekordját, így megtudhatja, miért került az SQL utasítás a "B" költségkategóriába. Ha a program nem módosítható, vagy ha statisztika nem érhető el, kérje meg a rendszergazdát, hogy állítsa át az RLF_CATEGORY_B oszlop értékét az RLST táblában "Y"-ra, ami lehetővé teszi, hogy az utasítás végrehajtódjon, vagy "W"-re, ami figyelmeztetést ad vissza hibaüzenet helyett.
Ha a figyelmeztetést olyan SQL utasítás okozza, ami túl sok processzor-erőforrást fogyaszt, próbálja meg átírni az utasítást, hogy az hatékonyabb legyen! Esetleg kérje meg a rendszergazdát, hogy növelje meg a hibaküszöböt az RLST-ben!
sqlcode: -495
sqlstate: 57051
SQL0499N | A "<kurzor-név>" kurzort már hozzárendelte az "<eljárás-név>"-ből származó valamelyik eredményhalmazhoz. |
Magyarázat: Megkísérelt kurzort rendelni egy eredményhalmazhoz, de az "<eljárásnév>" eljáráshoz már több kurzor hozzá van rendelve.
Felhasználói válasz: Nézzen utána, hogy a cél-eredményhalmaz előzőleg hozzá volt-e rendelve kurzorhoz. Ha az "<eljárásnév>" eljáráshoz több kurzor van hozzárendelve, győződjön meg róla, hogy csak egy kurzort használ a tárolt eljárás eredményhalmazainak feldolgozására.
sqlcode: -499
sqlstate: 24516