SQL0100W | A FETCH, UPDATE vagy DELETE utasításhoz nem található sor; vagy a lekérdezés eredménye üres tábla. |
Magyarázat: A következő helyzetek egyike áll fenn:
Nem történt adatbeolvasás, adatfrissítés vagy adattörlés.
Felhasználói válasz: Nem kell semmit sem tennie. A feldolgozás folytatódhat.
sqlcode: +100
sqlstate: 02000
SQL0101N | Az utasítás túl hosszú vagy túl összetett. |
Magyarázat: Az utasítás nem dolgozható fel, mivel meghaladja a rendszer által meghatározott hossz vagy bonyolultsági korlátot, vagy mivel túl sok korlát vagy trigger van benne.
Ha az utasítás tömörített leírást hoz létre vagy módosít, akkor az új tömörített leírás túl nagy lehet ahhoz, hogy a megfelelő rendszerkatalógusban levő oszlop tárolja.
Egyesített rendszer felhasználói ellenőrizzék azt is, hogy az utasítás:
Az utasítás nem dolgozható föl.
Megjegyzés:
Ha a rendszer karakteradat-átalakításokat hajt végre más kódlapok alatt futó alkalmazásokhoz és adatbázisokhoz, akkor az átalakítás eredménye meghaladja a hosszlimitet.
Felhasználói válasz: Tegye a következők valamelyikét:
sqlcode: -101
sqlstate: 54001
SQL0102N | A karakterlánc-állandó (kezdete "<karakterlánc>") túl hosszú. |
Magyarázat: A következők egyike történt:
Lehet, hogy adatátalakítás történik és a keletkező karakterlánc túl hosszú. Olyan esetekben, amikor az alkalmazások és az adatbázisok más kódlapok alatt futnak, akkor a rendszer a karakterlánc állandókat az alkalmazás kódlapjáról az adatbázis kódlapjára alakítja át. Néhány esetben, grafikus karakterlánc állandók tovább alakítódhatnak az adatbázis kódlapjáról az UCS-2 (UNICODE) kódolásra, amikor az adatbázist például EUC kódlappal hozták létre. Ez azt jelenti, hogy lehetséges olyan eset, amikor a keletkező karakterlánc hosszabb, mint a bemeneti karakterlánc.
Az utasítás nem dolgozható föl.
Felhasználói válasz: Táblára vagy oszlopra vonatkozó megjegyzés esetén csökkentse a megjegyzés méretét! SQL CONNECT utasítás esetén csökkentse az alkalmazáskiszolgáló nevének hosszát! Más karakterlánc állandók esetén a kért függvény nem érhető el párbeszédesen. Olyan hiba esetén, amely egy alkalmazásba ágyazott nem CONNECT SQL utasítás környezetében történik, rendelje a hosszú karakterláncot egy forrásváltozóhoz és írja be azt a változót a karakterlánc helyére az SQL utasításban!
Egyesített rendszer felhasználói: Ha átjárás szekcióról van szó, határozza meg, hogy melyik adatforrás okozza a hibát (lásd a Hibafelderítés útmutató hibás adatforrásokról szóló részét)! Vizsgálja meg a hibát okozó adatforrás SQL nyelvjárását, és határozza meg, hogy melyik korlátot lépte túl, majd szükség szerint javítsa a hibás utasítást!
sqlcode: -102
sqlstate: 54002
SQL0103N | A numerikus literál nem érvényes: "<literál>" |
Magyarázat: A jelzett "<literál>" számjeggyel kezdődik, de nem érvényes egész, decimális vagy lebegőpontos literál.
Egyesített rendszer felhasználói: Egy átjárás szekcióban adatforrásra jellemző literál formátumhiba történt.
Az utasítás nem dolgozható föl.
Felhasználói válasz: Javítsa ki az érvénytelen numerikus literált! Egyesített rendszer felhasználói, ha a hiba átjárás szekcióban történt, határozza meg, hogy melyik adatforrás okozza a hibát (lásd a Hibafelderítés útmutató hibás adatforrásokról szóló részét)! Vizsgálja meg a hibát okozó adatforrás SQL nyelvjárását, és határozza meg, hogy melyik literál formátumszabályt sértette meg, majd szükség szerint javítsa a hibás utasítást!
sqlcode: -103
sqlstate: 42604
SQL0104N | "<szöveg>" után váratlanul a következő jelsor szerepel: "<jelsor>". Itt például a következő jelsorok állhatnak "<jelsorlista>". |
Magyarázat: A megadott jelsornál szintaktikai hiba lépett fel az SQL utasításban a "<szöveg>" után. A "<szöveg>" mező jelzi az SQL utasításnak azon a 20 karakterét, amelyek az érvénytelen jelsort előzik meg.
Segítségképpen a programozónak az érvényes jelsorok listája a SQLCA SQLERRM mezőjében "<jelsorlista>"-ként áll rendelkezésre. Ez a felsorolás feltételezi, hogy az utasítás helyes addig a pontig.
Az utasítás nem dolgozható föl.
Felhasználói válasz: Vizsgálja meg és javítsa ki az utasítást a jelzett jelsor közelében!
sqlcode: -104
sqlstate: 42601
SQL0105N | A karakterlánc állandó (kezdete "<karakterlánc>") nem érvényes. |
Magyarázat: Az utasítás "<karakterlánc>" karakterlánccal kezdődő érvénytelen karakterlánc állandót tartalmaz.
Az utasítás nem dolgozható föl.
Felhasználói válasz: Adja meg a karakterlánc állandó helyes formátumát! Ellenőrizze, hogy grafikus karakterlánc, páros számú határoló és páros számú bájt van-e a karakterláncban!
Egyesített rendszer felhasználói, nézze át a Hibafelderítés útmutatót, és határozza meg, hogy melyik adatforrás okozza a hibát!
sqlcode: -105
sqlstate: 42604
SQL0106N | Az SQL utasítás megfelelően kezdődik, de befejezetlen. |
Magyarázat: Az SQL utasítás helyes volt, de megszakadt. Ezt valószínűleg egy literál helytelen lezárása okozta. A karakterlánc literálokat idézőjellel kell lezárni.
Az SQL utasítás feldolgozása véget ért.
Felhasználói válasz: Ellenőrizze, hogy az utasításban a kívánt függvény elvégzéséhez minden szükséges rész megvan-e és hogy a tagmondatok is teljesek-e!
PL/I-hez: Ellenőrizze, hogy az SQL utasítás teljes a pontosvessző előtt! Assemblerhez: Ellenőrizze, hogy a folytatási szabályokat betartják-e! (A 72. oszlopban nem szabad üres karakternek lenni, valamint a folytatott soroknak a 16. sor után kell kezdődniük.)
COBOL esetén: Ellenőrizze, hogy az SQL utasítás véget ér-e az END-EXEC sor előtt!
sqlcode: -106
sqlstate: 42601, 42603
SQL0107N | A "<név>" név túl hosszú. A legnagyobb megengedett hossz "<hossz>". |
Magyarázat: A visszaadott név ("<név>") túl hosszú. "<hossz>" jelzi a nevek esetén megengedett legnagyobb hosszt.
Az indexek és korlátozások nevei maximum 18 byte hosszúságúak lehetnek. Az oszlopok nevei legfeljebb 30 bájt hosszúak lehetnek. A mentési pontok, táblák, nézetek és fedőnevek nevei legfeljebb 128 bájt hosszúak lehetnek. (Ebbe az esetleges escape karakterek nem számítanak bele.)
Legfeljebb 30 bájt engedélyezett sémanevek (objektumminősítők) esetén, a felhasználó által megadott típusok kivételével, ahol legfeljebb 8 bájt engedélyezett.
A forrásváltozók nevei nem haladhatják meg a 30 bájtot.
Az SQL CONNECT utasítás esetén az alkalmazáskiszolgáló nevek 18 karakter hosszig fogadhatók előfordításkor. Futásidőben azonban a 8 karakternél hosszabb alkalmazáskiszolgáló nevek hibát fognak okozni.
Ezenkívül az SQL CONNECT utasításban szereplő jelszó 18 karakterig, a felhatalmazás azonosító pedig 8 karakterig fogadható el.
Egyesített rendszer felhasználói: Ha átjárás szekcióról van szó, lehet, hogy egy adatforrásra jellemző korlátot sértett meg.
Az utasítás nem dolgozható föl.
Megjegyzés:
Ha a rendszer karakteradat-átalakításokat hajt végre más kódlapok alatt futó alkalmazásokhoz és adatbázisokhoz, akkor az átalakítás eredménye meghaladja a hosszlimitet.
Felhasználói válasz: Válasszon rövidebb nevet vagy javítsa az objektumnevet!
Egyesített rendszer felhasználói: Ha átjárás szekcióról van szó, határozza meg, hogy melyik adatforrás okozza a hibát (lásd a Hibafelderítés útmutató hibás adatforrásokról szóló részét)! Vizsgálja meg a hibát okozó adatforrás SQL nyelvjárását, és határozza meg, hogy melyik korlátot lépte túl, majd szükség szerint javítsa a hibás utasítást!
sqlcode: -107
sqlstate: 42622
SQL0108N | A név ("<név>") minősítőinek száma rossz. |
Magyarázat: A "<név>" név helytelenül van minősítve.
A "<név>" névvel ellátott objektumnak csak egy minősítője lehet.
Egy oszlopnév olyan táblanévvel van minősítve, amely minősített, nem minősített vagy tárgynév. Néhány környezetben, oszlopnévhez táblanév minősítőre van szükség.
Az utasítás nem dolgozható föl.
Felhasználói válasz: Győződjék meg arról, hogy az objektum neve helyesen van minősítve!
sqlcode: -108
sqlstate: 42601
SQL0109N | Nem megengedett tagmondat: "<tagmondat>". |
Magyarázat: A jelzett tagmondat nem engedélyezett abban a szövegkörnyezetben, ahol az SQL utasításban jelenik meg.
Allekérdezésben, INSERT vagy CREATE VIEW utasításban nem lehet INTO, ORDER BY, vagy FOR UPDATE tagmondat. Beágyazott SELECT utasításban nem lehet ORDER BY vagy FOR UPDATE tagmondat. Beágyazott SELECT utasítások csak allekérdezésben tartalmazhatnak halmazműveletet. Kurzordeklarációban használt SELECT vagy VALUES utasításoknak nem lehet INTO tagmondata. RAISE_ERROR függvény csak SELECT listaelemként használható, ha a CAST specifikációt használva valamilyen adattípusra van átalakítva.
Egyesített rendszer felhasználói: Egy átmenő szekcióban lehet, hogy egy adatforrásra jellemző korlátozást sértett meg.
Az utasítás nem dolgozható föl.
Felhasználói válasz: Javítsa ki az SQL utasítást a tagmondat eltávolításával!
Egyesített rendszer felhasználói: átjárás szekció esetében határozza meg, hogy melyik adatforrás okozza a hibát (lásd a hibafelderítési útmutató hibás adatforrásokról szóló részét)! Vizsgálja meg a hibát okozó adatforrás SQL nyelvjárását, és határozza meg, hogy melyik korlátozást sértette meg, majd szükség szerint javítsa a hibás utasítást!
sqlcode: -109
sqlstate: 42601
SQL0110N | Érvénytelen hexadecimális állandó: "<karakterlánc>". |
Magyarázat: A "<karakterlánc>" hexadecimális állandó érvénytelen. A probléma a következők egyike:
Felhasználói válasz: Javítsa az állandót és adja ki újra az utasítást!
sqlcode: -110
sqlstate: 42606
SQL0111N | Az oszlopfüggvény ("<név>") nem tartalmaz oszlopnevet. |
Magyarázat: A "<név>" oszlopfüggvényt (AVG, MIN, MAX, SUM vagy COUNT (DISTINCT)) hibásan adták meg, mivel ilyen függvénynek muszáj oszlopnevet tartalmaznia az operandusban.
Az utasítás nem dolgozható föl.
Felhasználói válasz: Adjon meg egy oszlopnevet az oszlopfüggvény operandusában!
MEGJEGYZÉS: Ez a hiba csak a DB2 2-es verzió előtti verzióira vonatkozik.
sqlcode: -111
sqlstate: 42901
SQL0112N | A "<név>" oszlopfüggvény operandusa oszlopfüggvényt, skalár értékű egyesített kiválasztást, vagy allekérdezést tartalmaz. |
Magyarázat: Az oszlopfüggvény operandusa nem tartalmazhat:
SELECT listában lévő aritmetikai művelet operandusa nem lehet olyan oszlopfüggvény, amely DISTINCT kulcsszót tartalmaz.
Az utasítás nem dolgozható föl.
Felhasználói válasz: Javítsa ki az oszlopfüggvény használatát az érvénytelen kifejezés kiküszöböléséhez, majd próbálkozzék újra!
sqlcode: -112
sqlstate: 42607
SQL0113N | "<azonosító>" olyan karaktert tartalmaz, amely nem engedélyezett, vagy egyáltalán nem tartalmaz karaktereket. |
Magyarázat: Egy SQL-változónév, paraméternév vagy feltételnév "<azonosító>" érvénytelen karaktert tartalmaz. Csak azok a karakterek megengedettek, amelyek a szokásos SQL azonosítók esetében is érvényesek. Vegye figyelembe, hogy mivel az azonosító határolt, ezért göngyölés nincs végrehajtva, és a nagy illetve kisbetűk megkülönböztetettek.
Felhasználói válasz: Javítsa az azonosítót és adja ki újra az utasítást!
sqlcode: -113
sqlstate: 42601
SQL0117N | A hozzárendelt értékek száma más, mint a megadott vagy bennfoglalt oszlopoké. |
Magyarázat:
Az utasítás nem dolgozható föl.
Felhasználói válasz: Javítsa ki az utasítást, hogy az egy értéket adjon minden egyes megadott vagy bennfoglalt oszlophoz!
sqlcode: -117
sqlstate: 42802
SQL0118N | Az INSERT, DELETE vagy UPDATE utasítás célját képező tábla vagy nézet egy FROM tagmondatban is szerepel. |
Magyarázat: INSERT, DELETE vagy UPDATE utasítás céljaként megjelölt tábla vagy nézet szintén megjelenik az utasítás egy allekérdezésének FROM tagmondatban.
INSERT, UPDATE vagy DELETE céljaként szereplő tábla vagy nézet nem használható a beillesztendő értékek forrásaként vagy a beillesztendő, frissítendő vagy törlendő sorok minősítőjeként.
Az utasítás nem dolgozható föl.
Ez az üzenet csak 1.2 verziójú és korábbi kiszolgálókra és DB2 Connect-en keresztül elért gazdagépekre vonatkozik.
Felhasználói válasz: A bennfoglalt függvény nem támogatott. A kívánt eredmény elérése érdekében először hozza létre az objektumtábla vagy -nézet ideiglenes másolatát, majd címezze az alkiválasztást a másolatra!
sqlcode: -118
sqlstate: 42902
SQL0119N | Egy SELECT, HAVING vagy ORDER BY tagmondatban megadott kifejezés (kezdete "<kifejezés-kezdet>") nem szerepel a GROUP BY tagmondatban, vagy pedig a SELECT, HAVING vagy ORDER BY tagmondatban oszlopfüggvénnyel szerepel és nincs megadva GROUP BY tagmondat. |
Magyarázat: A SELECT utasítás a következő hibák egyikét tartalmazza:
A megadott kifejezés "<kifejezés-kezdet>" szöveggel kezdődő kifejezés. A kifejezés lehet egyetlen oszlopnév is.
Ha a NODENUMBER vagy PARTITION függvények a HAVING tagmondatban vannak megadva, akkor a rendszer az alapjául szolgáló tábla minden partíció kulcsoszlopát a HAVING tagmondatban szerepelőnek tekinti.
Az utasítás nem dolgozható föl.
Felhasználói válasz: Javítsa az utasítást úgy, hogy a kifejezést abba a GROUP BY tagmondatba illeszti be, amely a SELECT, HAVING vagy ORDER BY tagmondatban szerepel, illetve eltávolítja az oszlopfüggvényt a SELECT utasításból!
sqlcode: -119
sqlstate: 42803
SQL0120N | Egy WHERE tagmondat, GROUP BY tagmondat, SET tagmondat vagy SET átmenetváltozós utasítás oszlopfüggvényt tartalmaz. |
Magyarázat: WHERE tagmondat csak akkor tartalmazhat oszlopfüggvényt, ha az az oszlopfüggvény HAVING tagmondat allekérdezésében jelenik meg, és az oszlopfüggvény argumentuma korrelált hivatkozás egy csoportra. GROUP BY tagmondat csak akkor tartalmazhat oszlopfüggvényt, ha az oszlopfüggvény argumentuma nem ugyanabban az alkiválasztásban lévő oszlopra vonatkozó korrelált hivatkozás, mint a GROUP BY tagmondatot tartalmazó. SET tagmondat, UPDATE utasítás vagy SET átmenetváltozós utasítás csak a hozzárendelés jobb oldalán tartalmazhat oszlopfüggvényt egyesített kiválasztáson belül.
Az utasítás nem dolgozható föl.
Felhasználói válasz: Módosítsa az utasítást; ne használja az oszlopfüggvényt vagy csak akkor használja, amikor az támogatott!
sqlcode: -120
sqlstate: 42903
SQL0121N | Egy oszlop ("<név>") többször szerepel az INSERT, UPDATE vagy SET átmenetváltozó utasításban. |
Magyarázat: Ugyanaz a "<név>" oszlop van többször megadva egy INSERT utasítás oszloplistájában, egy UPDATE utasítás SET tagmondatában levő hozzárendelések bal oldalán vagy a SET átmenetváltozós utasítás összerendeléseinek bal oldalán. Ez a hiba akkor léphet fel, amikor egy nézetet frissít vagy beszúr egy nézetbe, és a nézet egynél több oszlopa az alaptábla ugyanazon az oszlopán alapul.
Az utasítás nem dolgozható föl.
Felhasználói válasz: Javítsa ki az utasítás szintaxisát úgy, hogy minden egyes oszlopnév csak egyszer legyen megadva!
sqlcode: -121
sqlstate: 42701
SQL0122N | Egy GROUP BY tagmondat nélküli SELECT utasítás oszlopnevet és oszlopfüggvényt tartalmaz a SELECT tagmondatban, vagy egy oszlopnév szerepel a SELECT tagmondatban, de nincs benne a GROUP BY tagmondatban. |
Magyarázat: A SELECT utasítás a következő hibák egyikét tartalmazza:
Az oszlopot talán egy skalár függvény tartalmazza.
Ha a NODENUMBER vagy PARTITION függvények vannak megadva a SELECT tagmondatban, akkor a rendszer az alapjául szolgáló tábla minden partíció kulcsoszlopát a SELECT tagmondatban szereplőnek tekinti.
Az utasítás nem dolgozható föl.
Felhasználói válasz: Javítsa ki az utasítást úgy, hogy a SELECT tagmondatban szereplő oszlopokat feltünteti a GROUP BY tagmondatban vagy eltávolítja az oszlopokat a SELECT tagmondatból!
sqlcode: -122
sqlstate: 42803
SQL0123N | A "<név>" függvény "<n>". pozíciójában szereplő paraméter csak állandó vagy kulcsszó lehet. |
Magyarázat: A "<név>" függvény "<n>". paramétere nem állandó, pedig annak kellene lennie vagy pedig nem kulcsszó pedig annak kellene lennie.
Felhasználói válasz: Győződjék meg arról, hogy a függvény minden egyes argumentuma megfelel a paraméter meghatározásának!
sqlcode: -123
sqlstate: 42601
SQL0125N | Az ORDER BY tagmondatban az oszlopok száma vagy kisebb egynél, vagy nagyobb, mint az eredménytábla oszlopszáma. |
Magyarázat: Az utasítás ORDER BY tagmondata olyan oszlopszámot tartalmaz, amely kisebb, mint egy vagy nagyobb, mint az eredménytáblában levő oszlopok száma (a SELECT tagmondat elemeinek száma).
Az utasítás nem dolgozható föl.
Felhasználói válasz: Javítsa ki az ORDER BY tagmondat szintaxisát úgy, hogy minden oszlopazonosító megfelelően jelölje ki az eredménytábla oszlopait!
sqlcode: -125
sqlstate: 42805
SQL0127N | Többször megadott DISTINCT. |
Magyarázat: A DISTINCT minősítő nem használható:
Az utasítás nem dolgozható föl.
Felhasználói válasz: Ez a hiba csak a DB2 2-es verzió előtti verzióira és a DB2 Connect-en keresztül elért gazdagépekre vonatkozik.
sqlcode: -127
sqlstate: 42905
SQL0129N | Az utasítás túl sok táblanevet tartalmaz (15 a megengedett legnagyobb érték). |
Magyarázat: Az SQL utasítás túl sok táblanevet tartalmaz. Egyetlen SQL utasítás legfeljebb 15 táblára hivatkozhat. Az egyes hivatkozott nézetekben lévő táblák is beleszámítanak a korlátba.
Az utasítás nem dolgozható föl.
Felhasználói válasz: Vágja az SQL utasítást két vagy több egyszerű utasításra, egyenként 15 vagy kevesebb táblahivatkozással!
Ez az üzenet csak 1.2 verziójú és korábbi kiszolgálókra és DB2 Connect-en keresztül elért gazdagépekre vonatkozik.
sqlcode: -129
sqlstate: 54004
SQL0130N | Az ESCAPE tagmondat nem egyetlen karakter, vagy a mintakarakterláncban érvénytelen escape karakter van. |
Magyarázat: Az escape karakternek egyetlen, legfeljebb két bájt hosszú karakternek kell lennie. Csakis akkor szerepelhet a mintakarakterláncban, ha ugyanaz a escape karakter, százalékjel vagy aláhúzás követi. Az ESCPAPE tagmondatról a LINK predikátumban további információt itt talál: SQL Reference.
Felhasználói válasz: Javítsa a mintakarakterláncot vagy az escape karaktert!
sqlcode: -130
sqlstate: 22019, 22025
SQL0131N | A LIKE predikátum operandusainak adattípusai nem kompatíbilisek. |
Magyarázat: Ha LIKE vagy NOT LIKE bal oldalán karakter típusú kifejezés áll, akkor a jobb oldali kifejezésnek is karakter típusúnak kell lennie.
Ha a bal oldalon grafikus típusú kifejezés áll, akkor a jobb oldali kifejezésnek is grafikus típusúnak kell lennie.
Ha a bal oldalon BLOB típusú kifejezés áll, akkor a jobb oldali kifejezésnek is BLOB típusúnak kell lennie.
Az utasítás nem dolgozható föl.
Felhasználói válasz: Módosítsa a LIKE predikátum kifejezéseit úgy, hogy azok azonos adattípusúak legyenek!
sqlcode: -131
sqlstate: 42818
SQL0132N | Egy LIKE predikátum vagy POSSTR skalár függvény érvénytelen, mert az első operandus nem karakterlánc kifejezés, vagy a második operandus nem karakterlánc. |
Magyarázat: A kifejezésben szereplő LIKE predikátum vagy POSSTR skalár függvény nem érvényes, mivel vagy nem karakterlánc kifejezés az első operandus, vagy a második operandus nem karakterlánc.
Egy LIKE vagy NEM LIKE predikátum bal oldalán szereplő operandusának illetve a POSSTR első operandusának karakterlánc kifejezésnek kell lennie. A predikátum jobb oldalán lévő érték vagy a POSSTR második operandusa a következők egyike lehet:
a következő korlátozásokkal:
LIKE predikátum vagy POSSTR skalár függvény nem használható a DATE, TIME vagy TIMESTAMP utasításokkal.
Az utasítás nem dolgozható föl.
Felhasználói válasz: Ellenőrizze és javítsa ki a LIKE és POSSTR szintaxisát!
sqlcode: -132
sqlstate: 42824
SQL0134N | Helytelenül használt karakterlánc oszlop, forrásváltozó, állandó vagy függvény: "<név>". |
Magyarázat: A "<név>" karakterlánc használata nem engedélyezett.
255 bájtnál hosszabb karakterlánc adattípust eredményező kifejezés nem engedélyezett:
LONG VARCHAR vagy LONG VARGRAPHIC adattípust eredményező kifejezés nem engedélyezett:
Egyesített rendszer felhasználói: Ha átjárás szekcióról van szó, egy adatforrásra jellemző korlátozás okozhatja ezt a hibát. A hibás adatforrásokról a SQL Reference dokumentáció ír.
Az utasítás nem dolgozható föl.
Felhasználói válasz: A kért, karakterláncon végzett művelet nem támogatott.
Megjegyzés:
Ha nem egészen világos, miért lépte túl a 255 bájtos határt, gondoljon arra, hogy kódlapátalakítási műveletekre lehet szükség a karakterlánc kifejezés kiértékeléséhez. A forrás és cél kódlapoktól függően a célnak nagyobb hossza lehet, mint a forrásnak. Ha bővebb tájékoztatásra van szüksége a karakterlánc korlátozásokkal és átalakításokkal kapcsolatban, nézze át a SQL Reference című kiadványt!sqlcode: -134
sqlstate: 42907
SQL0135N | INSERT vagy UPDATE utasításban a hosszú karakterlánc oszlopnak forrásváltozónak vagy a NULL kulcsszónak kell lennie. |
Magyarázat: Az UPDATE és az INSERT állandókat, oszlopneveket és allekérdezéseket használ ott, ahol NULL-nak vagy forrásváltozónak kellene állnia.
A hosszú karakterlánc oszlopok típusa LONG VARCHAR, LONG VARGRAPHIC, VARCHAR(n), ahol n 254 és 32767 közé esik, vagy VARGRAPHIC(n), ahol n 127 és 16383 közé esik.
Felhasználói válasz: A hosszú karakterláncok használatáról a DB2 for VM alkalmazásprogramozási kézikönyv ír. Javítsa ki az utasítást! Próbálkozzék újra!
sqlcode: -135
sqlstate: 56033
SQL0137N | A "<művelet>" eredményezte hossz nagyobb, mint "<maximális érték>". |
Magyarázat: Az adott operandusok összefűzésével keletkező karakterlánc hosszabb, mint amit az eredménytípus támogat.
A karakterlánc eredmények hossza 32.700 bájtra korlátozott, hacsak nem az egyik operandus CLOB, mert akkor a határ 2 GB.
A grafikus karakterláncok hossza 16.350 karakterre van korlátozva, hacsak nem az egyik operandus DBCLOB, mert akkor a határ 1.073.741.823 (1 bájttal kevesebb, mint 1 GB) kétbájtos karakter.
A bináris karakterlánc-eredmények (operandusok BLOB-ok) 2GB-ra vannak korlátozva.
Felhasználói válasz: Győződjék meg arról, hogy az operandusok hosszának összege nem haladja meg a támogatott legnagyobb értéket, majd próbálkozzék újra a művelettel!
sqlcode: -137
sqlstate: 54006
SQL0138N | A SUBSTR függvény második vagy harmadik argumentuma kívül van a megengedett tartományon. |
Magyarázat: A következők egyike történt:
M az első argumentum hossza, ha az rögzített hosszúságú, illetve az első argumentum maximális hossza, ha az változó hosszúságú. N a második argumentum értéke.
Az utasítás nem dolgozható föl.
Felhasználói válasz: Győződjék meg arról, hogy a SUBSTR második és harmadik argumentuma megfelel a fenti szabályoknak!
sqlcode: -138
sqlstate: 22011
SQL0139W | Felesleges tagmondat található az oszlop ("<oszlop>") specifikációjában. |
Magyarázat: Az oszlopspecifikáció tagmondata felesleges.
Az utasítás sikeresen feldolgozásra került, de a felesleges tagmondat hatástalan volt.
Felhasználói válasz: Javítsa ki az oszlopspecifikációt!
sqlcode: +139
sqlstate: 01589
SQL0142N | Nem támogatott SQL utasítás. |
Magyarázat: Az adatbáziskezelő nem támogat egy beágyazott SQL utasítást, bár más IBM relációsadatbázis-termékek támogathatják azt.
Egyesített rendszer felhasználói: Ellenőrizze, hogy nem irányított-e SQL utasítást olyan adatforrásra, amely nem támogatja az SQL utasítást!
Az utasítás nem dolgozható föl.
Felhasználói válasz: Módosítsa az SQL utasítás szintaxisát vagy távolítsa el az utasítást a programból!
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 SQL nyelvjárását!
SQL0143W | Nem támogatott SQL utasítás; az érvénytelen szintaxis hatástalan. |
Magyarázat: Egy beágyazott SQL utasítást megért, de nem támogat az adatbáziskezelő, bár más IBM relációs adatbázistermékek támogathatják azt.
Az utasítás következetlenséget vagy nem kívánatos eredményeket okozhat.
Felhasználói válasz: Módosítsa az SQL utasítás szintaxisát vagy távolítsa el az utasítást a programból!
SQL0150N | Az INSERT, DELETE vagy UPDATE utasításban szereplő nézetre, típusos táblára vagy összegzőtáblára a kért művelet nem engedélyezett. |
Magyarázat: Az INSERT, DELETE vagy UPDATE utasításban szereplő nézet, típusos tábla vagy összegzőtábla úgy van definiálva, hogy a kért művelet nem hajtható végre.
A nézet csak olvasható, ha a SELECT utasítás az alábbiak bármelyikét tartalmazza:
Ezek a feltételek nem vonatkoznak a SELECT utasítás allekérdezéseire.
Nem illszthet be közvetlenül sorokat egy nem példányosítható struktúrált típuson definiált típusos táblába. Ennek a táblának altáblái megengedhetik a beillesztést.
Az összegzőtáblákra nem megengedett az insert, update és delete művelet.
Az utasítás nem dolgozható föl.
Felhasználói válasz: A kért függvény nem hajtható végre a nézeten, vagy összegzőtáblán
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 és frissítési korlátozásait!
sqlcode: -150
sqlstate: 42807
SQL0151N | Az oszlop nem frissíthető: "<név>". |
Magyarázat: A megadott oszlop nem frissíthető, mivel a következők egyikét kísérelte meg:
Egyesített rendszer felhasználói Valamilyen más, adatforrásra jellemző korlátozás megakadályozza az oszlop frissítését.
Az utasítás nem dolgozható föl.
Felhasználói válasz: A kért függvény nem támogatott. A frissíthető katalógusok (és oszlopok) listáját itt találja: SQL Reference.
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), és vizsgálja meg a hibát okozó adatforrás objektummeghatározását és frissítési korlátozásait!
sqlcode: -151
sqlstate: 42808
SQL0153N | A CREATE VIEW utasítás vagy egy egyszerű táblakifejezés nem tartalmaz oszloplistát. |
Magyarázat: Oszloplistát kell megadni egy CREATE VIEW utasításban vagy egyszerű táblakifejezésben, amikor:
Az utasítás nem dolgozható föl. CREATE VIEW utasítás esetén nem jött létre nézet.
Felhasználói válasz: Adjon meg egy oszlopnév-listát a CREATE VIEW utasításban vagy egyszerű táblakifejezésben, vagy az AS tagmondattal nevezze meg az oszlopokat az egyesített kiválasztás SELECT listájában!
sqlcode: -153
sqlstate: 42908
SQL0155N | Trigger átmenettábla nem módosítható. |
Magyarázat: A trigger OLD_TABLE vagy NEW_TABLE kifejezéssel rendelkező REFERENCING tagmondatot tartalmaz. DELETE, INSERT vagy UPDATE által kiváltott SQL utasítás a módosítandó tábla neveként OLD_TABLE-t vagy NEW_TABLE-t adott meg.
Felhasználói válasz: Távolítsa el a DELETE, INSERT vagy UPDATE által kiváltott SQL utasítást a kiváltott műveletből vagy változtassa meg az átmenettábla nevét úgy, hogy az ne ütközzék a módosítandó táblával!
sqlcode: -155
sqlstate: 42807
SQL0156N | A műveletben használt név nem tábla. |
Magyarázat: Az ALTER TABLE, DROP TABLE, SET CONSTRAINTS, CREATE TRIGGER, CREATE INDEX, LOCK TABLE és RENAME TABLE SQL utasítások csak táblákra alkalmazhatók, nem pedig nézetekre. A RUNSTATS és LOAD segédprogramok szintén csak táblára és nem nézetre alkalmazhatók.
Egyesített rendszer felhasználói: Egyes segédprogramokat és utasításokat az egyesített környezet nem támogat. További információért lásd: Administration Guide.
Az utasítás vagy segédprogram nem dolgozható fel.
Felhasználói válasz: Ellenőrizze, hogy a helyes nevet adta-e meg az utasításban! Ha fedőnevet adott meg, akkor győződjék meg arról, hogy a fedőnév táblát jelöl!
Egyesített rendszer felhasználói: Ellenőrizze, hogy az objektum nem becenév.
sqlcode: -156
sqlstate: 42809
SQL0157N | "<név>" nem adható meg FOREIGN KEY tagmondatban, mert nem alaptáblát azonosít. |
Magyarázat: A "<név>" nézet egy CREATE vagy ALTER TABLE utasítás FOREIGN KEY tagmondatában szerepelt. FOREIGN KEY tagmondatnak táblát és nem nézetet kell kijelölnie.
Az utasítás nem dolgozható föl. A megadott tábla nem jött létre illetve nem változott meg.
Felhasználói válasz: Javítsa ki az utasítást úgy, hogy az táblanevet adjon meg a FOREIGN KEY tagmondatban!
Ha fedőnevet adott meg, akkor győződjék meg arról, hogy a fedőnév alaptáblát jelöl!
sqlcode: -157
sqlstate: 42810
SQL0158N | A "<név>"-hez megadott oszlopok száma más, mint a társított egyesített kiválasztás eredménytáblájának oszlopszáma. |
Magyarázat: A "<név>" azonosíthat:
A megadott oszlopnevek számának meg kell egyeznie a társított egyesített kiválasztás eredménytáblájának oszlopszámával.
Az utasítás nem dolgozható föl.
Felhasználói válasz: Javítsa ki a szintaxist úgy, hogy a "<név>" azonosítót közvetlenül követő oszlopnevek listája a társított egyesített kiválasztásban levő eredménytábla minden egyes oszlopát megnevezi!
sqlcode: -158
sqlstate: 42811
SQL0159N | Az utasítás az "<objektum>" objektumra hivatkozik, "<objektumtípus>" típust azonosít, "<várt-objektumtípus>" helyett. |
Magyarázat: Az utasítás részeként megadott "<objektum>" objektum "<objektumtípus>" objektumtípusra hivatkozik, "<várt-objektumtípus>" helyett.
Az utasításban vagy parancsban megadott objektum típusának meg kell egyeznie az "<várt-objektumtípus>" típussal. Ha például az utasítás DROP ALIAS PBIRD.T1, akkor a PBIRD.T1-nek fedőnévnek kell lennie.
Felhasználói válasz: Változtassa meg az utasítást vagy parancsot úgy, hogy az objektumtípus egyezzen meg a "<várt objektumtípus>" típussal.
sqlcode: -159
sqlstate: 42809
SQL0160N | A megadott nézethez nem érvényes a WITH CHECK OPTION. |
Magyarázat: A WITH CHECK OPTION nem használható nézet meghatározásában, ha
Egyesített rendszer felhasználói: A WITH CHECK OPTION nem támogatott olyan nézeteken, amelyek frissíthető becenevekre hivatkoznak.
Az utasítás nem dolgozható föl. A megadott nézet nem jött létre.
Felhasználói válasz: Távolítsa el a WITH CHECK OPTION részt, vagy módosítsa a nézet meghatározását úgy, hogy az megfeleljen a fenti szabályoknak!
sqlcode: -160
sqlstate: 42813
SQL0161N | Az INSERT vagy UPDATE eredménysora nem felel meg a nézet definíciójának. |
Magyarázat: WITH CHECK OPTION tagmondat szerepel a nézet meghatározásában, amely az INSERT vagy UPDATE utasítás tárgya. Tehát ha sorokat kísérelnek meg beszúrni a nézetbe illetve a benne levő sorokat próbálják frissíteni, akkor a rendszer ellenőrzi, hogy az eredmények megfelelnek-e a nézet meghatározásának.
Az utasítás nem dolgozható föl. Nem történt sem beillesztés vagy frissítés; a nézet és az alapjául szolgáló alaptábla tartalma változatlan marad.
Felhasználói válasz: Vizsgálja meg a nézet meghatározását annak eldöntéséhez, miért utasította vissza a rendszer a kért INSERT vagy UPDATE utasítást! Ez lehet adatfüggő helyzet is.
A kért INSERT vagy UPDATE lehet, hogy tartományon kívüli érték(ek)et próbál a céloszlop(ok)ba rakni. A rendszerkatalógus frissítéséről információt a SQL Reference könyv tartalmaz, itt láthatja például a katalógusok különféle frissíthető oszlopaiban előforduló értékek érvényes tartományait.
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), és vizsgálja meg a hibát okozó adatforrás objektummeghatározását és nézetdefinícióját!
sqlcode: -161
sqlstate: 44000
SQL0170N | Hibás a függvény ("<név>") argumentumainak száma. |
Magyarázat: A megadott "<név>" skalár függvénynek vagy túl kevés vagy túl sok argumentuma van.
Az utasítás nem dolgozható föl.
Felhasználói válasz: Győződjék meg arról, hogy a skalár függvénynek megfelelő számú argumentumot adott meg!
sqlcode: -170
sqlstate: 42605
SQL0171N | A "<név>" rutin "<n>" argumentumának adattípusa, hossza vagy értéke hibás. |
Magyarázat: A "<név>" rutin "<n>" argumentumának adattípusa, hossza vagy értéke hibás.
Az utasítás nem dolgozható föl.
Felhasználói válasz: Győződjék meg arról, hogy a rutin argumentumai megfelelnek a rutin szabályainak!
sqlcode: -171
sqlstate: 42815
SQL0172N | Érvénytelen függvénynév: "<név>". |
Magyarázat: Az SQL utasítás ismeretlen skalár függvényt tartalmaz.
Az utasítás nem dolgozható föl.
Felhasználói válasz: Győződjék meg róla, hogy helyesen írta a függvény nevét!
sqlcode: -172
sqlstate: 42601
SQL0176N | A TRANSLATE skalár függvény második, harmadik vagy negyedik argumentuma hibás. |
Magyarázat: Az utasítás az alábbiak némelyike miatt hibás:
Az utasítás nem dolgozható föl.
Felhasználói válasz: Gondoskodjon róla, hogy a TRANSLATE skalár függvény második, harmadik és negyedik argumentumának megfelelő értékei vannak!
sqlcode: -176
sqlstate: 42815
SQL0180N | Egy dátum/időpont érték karakterlánc alakjának szintaxisa hibás. |
Magyarázat: Dátum, idő vagy időbélyeg érték karakterlánc alakja nem felel meg a megadott vagy bennfoglalt adattípus szintaxisának.
Az utasítás nem dolgozható föl.
Felhasználói válasz: Győződjék meg róla, hogy a dátum, idő vagy időbélyeg érték szintaxisa megfelel az adattípus szintaxisának! Ha a karakterláncot nem dátumként, időpontként vagy időbélyeg-értékként kívánta megadni, akkor biztosítsa, hogy használatakor ne foglalja magában azt az adattípust!
Egyesített rendszer felhasználói: A problémát okozhatja a adatforrás dátum és időpont formátumának hibája. 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), és vizsgálja meg a hibát okozó adatforrás dátum és időpont formátumának korlátozásait!
sqlcode: -180
sqlstate: 22007
SQL0181N | Egy dátum/időpont érték karakterlánc alakja kívül van a megengedett tartományon. |
Magyarázat: Egy dátum, idő, dátum/időpont érték karakterlánc alakja a megengedett tartományon kívüli értéket tartalmaz.
Ezt a hibát okozhatja az is, hogy egy dátum/időpont értéket olyan alkalmazásból ér el, amely olyan országkódot használ, amelynek dátum/időpont formátuma különbözik az azt létrehozó alkalmazásétól. Például olyan dátum/időpont érték, amely nn/hh/év formátumban került tárolásra érvénytelen lesz, amikor olyan alkalmazás olvassa, amely hh/nn/év formátumot vár.
Dátum, idő vagy időbélyeg értékeinek megengedett tartománya a következő:
Egyesített rendszer felhasználói: A problémát okozhatja az adatforrás dátum és időpont formátumának hibája. Nézze meg az adatforrás dokumentációjában a dátum és időpont értékek tartományát! 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), és vizsgálja meg a hibát okozó adatforrás dátum és időpont formátumának korlátozásait!
Az utasítás nem dolgozható föl.
Felhasználói válasz: Biztosítsa, hogy az érték az érvényes tartományon belülre essék és, hogy az alkalmazás dátum/időpont formátuma megfeleljen a karakterláncénak!
sqlcode: -181
sqlstate: 22007
SQL0182N | Egy dátum/időpont értéket vagy címkézett időtartamot tartalmazó kifejezés érvénytelen. |
Magyarázat: A megadott kifejezés helytelenül használt dátumot, időpontot, időbélyeg értéket vagy időtartamot tartalmaz.
Az utasítás nem dolgozható föl.
Felhasználói válasz: Vizsgálja meg az SQL utasítást a hiba okának meghatározásához, majd javítsa ki az utasítást!
sqlcode: -182
sqlstate: 42816
SQL0183N | Egy dátum/időpont aritmetikai művelet vagy egy dátum/időpont skalár függvény értéke kívül esik az érvényes dátumtartományon. |
Magyarázat: Egy aritmetikai művelet eredménye olyan dátum vagy időtartam, amelyik kívül esik a tartományon (0001-01-01 - 9999-12-31).
Az utasítás nem hajtható végre.
Felhasználói válasz: A hiba okának meghatározásához vizsgálja meg az SQL utasítást! Ha a probléma adatfüggő, akkor vizsgálja meg a hiba bekövetkeztekor feldolgozott adatokat!
sqlcode: -183
sqlstate: 22008
SQL0187N | Érvénytelen hivatkozás az aktuális dátum/időpont különleges regiszterre. |
Magyarázat: Hibajelzés érkezett az operációs rendszertől a dátum/időpont információ betöltésekor.
Felhasználói válasz: Biztosítsa, hogy a rendszer TOD óra és időzóna beállítások megfelelőek legyenek!
sqlcode: -187
sqlstate: 22506
SQL0190N | Az ALTER TABLE "<táblanév>" olyan tulajdonságokat adott meg az "<oszlopnév>" oszlopnak, amelyek nem kompatíbilisek a létező oszloppal. |
Magyarázat: Egy ALTER TABLE utasítás ALTER COLUMN tagmondatában "<táblanév>" tábla "<oszlopnév>" oszlopának megadott tulajdonságok nem kompatíbilisek a jelenlegi oszlop tulajdonságaival. Hibajelzés érkezett a következő okok egyike miatt.
Felhasználói válasz: Tegye a tulajdonságokat kompatíbilissá a létező oszloppal, távolítsa el a tulajdonság specifikációt, vagy adjon meg egy másik oszlopnevet!
sqlcode: -190
sqlstate: 42837
SQL0191N | Hiba történt töredékes MBCS karakter miatt. |
Magyarázat: Lehetséges okok:
Egyesített rendszer felhasználói: Ezt a helyzetet észlelheti a adatforrás is.
Felhasználói válasz:
Egyesített rendszer felhasználói: Ha az adatok jók, szűkítse a problémát a kérést meghiúsító adatforrásra (lásd a Hibafelderítés útmutatót), és vizsgálja meg a hibát okozó adatforrás DBCS korlátozásait! Ha az adatok jónak látszanak, kérjen segítséget az IBM szerviztől!
sqlcode: -191
sqlstate: 22504
SQL0193N | Egy ALTER TABLE utasításban az "<oszlopnév>" oszlop NOT NULL-ként van megadva, és vagy nincs DEFAULT tagmondat, vagy a tartalma DEFAULT NULL. |
Magyarázat: Amikor új oszlopok kerülnek egy már létező táblához, akkor értéket kell rendelni az új oszlop minden létező sorához. Alapértelmezésként NULL érték van hozzárendelve. Mivel azonban az oszlop NOT NULL-ként lett megadva, ezért NULL-tól különböző alapértelmezett értéket kell megadni.
Felhasználói válasz: Vagy távolítsa el a NOT NULL korlátozást az oszlopról vagy adjon meg NULL-tól különböző alapértelmezett értéket az oszlopnak!
sqlcode: -193
sqlstate: 42601
SQL0197N | ORDER BY tagmondatban nem megengedett a minősített oszlopnév. |
Magyarázat: Egy egyesített kiválasztás olyan ORDER tagmondatának, amely halmazműveletet tartalmaz (UNION, EXCEPT, INTERSECT), nem lehet minősített oszlopneve.
Felhasználói válasz: Biztosítsa, hogy az ORDER BY tagmondat minden oszlopneve minősítetlen legyen!
sqlcode: -197
sqlstate: 42877
SQL0198N | A PREPARE vagy EXECUTE IMMEDIATE utasítás utasítás-karakterlánca üres. |
Magyarázat: A PREPARE vagy EXECUTE IMMEDIATE utasítás tárgyát képező forrásváltozó vagy csak szóközöket tartalmazó vagy üres karakterlánc volt.
A PREPARE vagy EXECUTE IMMEDIATE nem fejezhető be.
Felhasználói válasz: Javítsa a program logikáját és győződjék meg róla, hogy érvényes SQL utasítás a PREPARE vagy EXECUTE IMMEDIATE utasítás operandusa a végrehajtás előtt!
sqlcode: -198
sqlstate: 42617
SQL0199N | A "<kulcsszó>" foglalt szó "<szöveg>" után nem érvényes. Itt például a következő jelsorok állhatnak: "<jelsorlista>". |
Magyarázat: Szintaxishiba volt az SQL utasításban, amikor "<szöveg>" szöveg után a "<kulcsszó>" foglalt szó szerepelt. A "<szöveg>" mező jelzi az SQL utasítás azon 20 karakterét, amelyek a foglalt szót előzik meg. Az utasításban levő tagmondatok esetleg rossz sorrendben állnak.
Segítségképpen a programozónak az érvényes jelsorok listája a SQLCA SQLERRM mezőjében "<jelsorlista>"-ként áll rendelkezésre. Ez a felsorolás feltételezi, hogy az utasítás helyes addig a pontig.
Az utasítás nem dolgozható föl.
Felhasználói válasz: Vizsgálja meg az utasítás a kulcsszó körül! Pótolja az esetleg hiányzó kettőspontot vagy SQL határolót! Ellenőrizze, hogy a tagmondatok a megfelelő sorrendben állnak! Ha az üzenetekben említett foglalt szó tényleg a foglalt szavak listájában szerepel, akkor változtassa meg a szót határolt azonosítóvá!
MEGJEGYZÉS: Ez a hiba csak a DB2 2-es verzió előtti verzióira vonatkozik.
sqlcode: -199
sqlstate: 42601