Üzenetek leírása

SQL0800 - SQL0899

SQL0801NNullával történő osztásra történt kísérlet.

Magyarázat: Az oszlopfüggvény vagy aritmetikai kifejezés feldolgozása nullával történő osztást eredményezett.

Az utasítás nem dolgozható föl. INSERT, UPDATE vagy DELETE utasítások esetén nem történt beszúrás vagy frissítés.

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ő, meg kell vizsgálni azokat az adatokat, amelyek a hiba bekövetkeztekor kerültek feldolgozásra. Az adattípusok érvényes tartományát az alábbi címen találja: SQL Reference

Egyesített rendszer felhasználói: A hiba okának meghatározásához vizsgálja meg az SQL utasítást! Ha a probléma adatfüggő, vizsgálja meg a hiba felléptekor az adatforrásnál feldolgozás alatt álló adatokat!

sqlcode: -801

sqlstate: 22012

SQL0802NAritmetikai túlcsordulás vagy más aritmetikai processzorszintű hiba történt.

Magyarázat: Oszlopfüggvény vagy aritmetikai kifejezés feldolgozása aritmetikai túlcsordulást eredményezett.

Az utasítás nem dolgozható föl. INSERT, UPDATE vagy DELETE utasítások esetén nem történt beszúrás vagy frissítés.

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ő, meg kell vizsgálni azokat az adatokat, amelyek a hiba bekövetkeztekor kerültek feldolgozásra. Az adattípusok érvényes tartományát az alábbi címen találja: SQL Reference

Ez a hiba akkor is előfordulhat, amikor az oszlopfüggvények nem tudják kezelni az SQL utasítás által visszaadott értéket. Például, egy SELECT COUNT utasítás kiadása olyan táblán, amely több sort tartamlaz, mint a MAX_LONGINT_INT SQL korlát, aritmetikai túlcsordulás hibához fog vezetni. Fontolja meg a COUNT_BIG oszlopfüggvény használatát 2 147 483 647 sornál több sort tartalmazó táblák esetében!

Egyesített rendszer felhasználói: A hiba okának meghatározásához vizsgálja meg az SQL utasítást! Ha a probléma adatfüggő, vizsgálja meg a hiba felléptekor az adatforrásnál feldolgozás alatt álló adatokat! Nézze meg az adatforráshoz tartozó SQL leírásban az adattípusok érvényes tartományait!

sqlcode: -802

sqlstate: 22003

SQL0803NA DELETE utasítás kiváltotta idegen kulcs frissítés, az INSERT utasítás vagy UPDATE utasítás egy vagy több értéke érvénytelen, mert ezek ismétlődő sorokat eredményeznének egy elsődleges kulccsal, egyedi korlátozással vagy egyedi indexszel rendelkező táblában.

Magyarázat: Az INSERT vagy UPDATE objektumtáblát egy vagy több UNIQUE index arra korlátozza, hogy egyedi értékei legyenek bizonyos oszlopaiban vagy oszlopcsoportjaiban. Esetleg a szülőtáblára kiadott DELETE utasítás egy olyan leszármazott tábla idegen kulcsának frissítését okozta, amelyet egy vagy több UNIQUE index arra korlátoz, hogy egyedi értékei legyenek bizonyos oszlopainak vagy oszlopcsoportjainak. Az egyedi indexnek azért jöhetett létre, hogy egy, a táblához megadott elsődleges kulcsot vagy egyedi korlátozást támogasson. A kért beszúrás vagy frissítés végrehajtása az oszlopértékek többszörözését jelentené.

Másrészt, ha egy nézet az INSERT vagy UPDATE utasítás objektuma, akkor az a tábla korlátozott, amelyhez a nézet tartozik.

Az utasítás nem dolgozható föl. A tábla változatlan marad.

Felhasználói válasz: Vizsgálja meg az objektumtáblára megadott UNIQUE indexek definícióját azon egyediség korlátozások meghatározásához, amelyeket ezek az indexek határoznak meg!

UPDATE utasítás esetén győződjék meg róla, hogy a megadott művelet maga ne legyen ellentmondásban ezekkel az egyediség korlátozásokkal! Ha ez nem mutat hibát, vizsgálja meg az objektumtábla tartalmát a hiba okának meghatározásához!

INSERT utasítás esetén vizsgálja meg az objektumtábla tartalmát annak meghatározásához, hogy a megadott értéklista mely értéke sérti meg az egyediség korlátozást! Másrészt, ha az INSERT utasítás allekérdezést tartalmaz, az objektumtábla allekérdezés által címzett részeit egyeztetni kell az objektumtábla tartalmával a hiba okának meghatározásához!

DELETE utasítás esetén vizsgálja meg a leszármazott táblákban idegen kulcsokon létrehozott olyan egyedi korlátozásokat, amelyek az ON DELETE SET NULL szabállyal rendelkeznek! Egy ilyen tábla idegen kulcsának egy oszlopa szerepel egy egyedi indexben, ahol nem kaphat NULL értéket, mert már NULL szerepel a tábla oszlopában.

Egyesített rendszer felhasználói: Szűkítse a problémát a kérést meghiúsító adatforrásra (az SQL utasítás feldolgozását meghiúsító adatforrás meghatározásához nézze meg ezt Problémameghatározási útmutató), és vizsgálja meg az előzőleg felsorolt helyzetekhez tartozó indexdefiníciókat és adatokat!

sqlcode: -803

sqlstate: 23505

SQL0804NAz alkalmazási program aktuális kérelemhez tartozó bemeneti paraméterei érvénytelenek. Ok-kód "<ok-kód>". Ha az SQLDA-ban lévő forrásváltozó vagy SQLVAR érvénytelen, akkor: forrásváltozó/SQLVAR száma = "<változószám>", SQLTYPE = "<sqltype>", SQLLEN = "<sqllen>", forrásváltozó/SQLVAR típusa = "<bemeneti_vagy_kimeneti>".

Magyarázat: Hiba történt az aktuális kérés feldolgozása közben.

Az okkódok értelmezése a következő:

100
A kérés nem támogatott vagy környezeten kívül van.

101
Az SQLDA.SQLN kisebb, mint SQLDA.SQLD

102
Az SQLVAR.SQLTYPE érvénytelen.

Egyesített rendszer felhasználói: A kért adat adattípusa nem támogatott az elérni kívánt befogadott kiszolgáló vagy adatforrás által.

103
Az SQLVAR.SQLLEN-ben vagy az SQLVAR2.SQLLONGLEN-ben megadott hossz nem felel meg az SQLVAR.SQLTYPE-ban megadott SQL típusnak.

104
Kettős SQLVAR az elvárás, de az SQLDA.SQLDAID SQLDOUBLED mezője nincs '2'-re állítva. Ez egy nagy objektumtípus vagy egy struktúrált típus miatt lehet szükséges.

105
Egy kétbájtos karakter nagy objektumnak páratlan értékét jelzi a SQLVAR2.SQLDATALEN mutató, amelynek (bájtokat mérve) mindig párosnak kell lennie DBCLOB-ok esetén.

106
Érvénytelen az SQLDATA mutató, vagy nem megfelelő tárterületre mutat.

107
Érvénytelen az SQLIND mutató, vagy nem megfelelő tárterületre mutat.

108
Érvénytelen az SQLDATALEN mutató, vagy nem megfelelő tárterületre mutat.

109
Az aktuális SQL utasítás számára meg kell adni a bemeneti forrásváltozók/SQLVAR-ok konkrét számát.

110
A LOB mutató nincs kompatibilis típusú LOB-hoz társítva.

111
Az SQLVAR SQLTYPE-ja LOB-ot jelez, de a második SQLVAR null értékű.

112
Az SQLDATATYPE NAME mező nem érvényes. Nem felel meg a létező felhasználó által megadott típus azonosítására vonatkozó szabályoknak. Egy már létező felhasználó által megadott típus azonosításának a formátuma a következő: 8 bájt, utána egy pont, majd 18 bájt.

113
Az SQLFLAG4 mező nem érvényes. Ha struktúrált típus van megadva, akkor az érték kötelezően X'12' kell, hogy legyen. Ha hivatkozás típus van megadva, akkor az érték kötelezően X'01' kell, hogy legyen. Egyébként az érték kötelezően X'00'.

Forrásváltozókat tartalmazó SQL utasítások esetén a forrásváltozószám segítségével számolja ki az utasítás (vagy alutasítás összetett SQL-ek esetén) elejéről az érvénytelen forrásváltozó helyét! SQLDA-t használó utasítások esetén az SQLVAR szám az érvénytelen SQLVAR-t azonosítja. Bementi SQLDA esetén csak a bemeneti forrásváltozókat vagy SQLVAR-okat számolja! Hasonlóképpen tegyen kimenet esetén is! Megjegyzés: ez a szám 1-től kezdődik.

Az utasítás nem dolgozható föl.

Felhasználói válasz: Vizsgálja meg az alkalmazási programot az említett hibák szempontjából! Megjegyzés: a programozónak nem volna szabad az előfordító kimenetének megváltoztatását megkísérelni.

Egyesített rendszer felhasználói: Ha 102-es okkódot kapott, akkor adjon meg támogatott adattípus, és küldje el újra a programot!

sqlcode: -804

sqlstate: 07002

SQL0805NA következő csomag "<csomagnév>" nem található.

Magyarázat: Az üzenet (SQLCODE) lehetséges okai:

Az utasítás nem dolgozható föl.

Felhasználói válasz: Adja meg a helyes csomagnevet, vagy rendelje a programot az adatbázishoz! Ha a futó alkalmazás nincs az adatbázishoz rendelve, vegye fel a kapcsolatot az adatbázis adminisztrátorával, hogy az elvégezze a szükséges összerendelést!

Ha a DB2 segédprogramokat újra hozzá kell rendelni az adatbázishoz, az adatbázis adminisztrátora ezt a következő CLP parancsok valamelyikének a példány bnd alkönyvtárából való kiadásával teheti meg (ehhez összeköttetésben kell állni az adatbázissal):

Egyesített rendszer felhasználói: Biztosítsa, hogy a egyesített kiszolgáló által igényelt csomagok az alkalmazható adatforrásokkal legyenek összerendelve! A csomagok adatforrásokhoz történő rendeléséről a Telepítési és konfigurálási kiegészítés kézikönyv tartalmaz további információt.

sqlcode: -805

sqlstate: 51002

SQL0808NA CONNECT utasítás szemantikája nem konzisztens a többi létező kapcsolattal.

Magyarázat: A utasítás egy olyan forrásfájlból származik, amely más kapcsolatbeállításokkal lett előfordítva (SQLRULES, CONNECT típus, SYNCPOINT vagy RELEASE típus), mint az a forrásfájl, amelyhez kapcsolat tartozik.

Felhasználói válasz: Győződjék meg róla, hogy az összes forrásfájl ugyanazzal a CONNECT beállítással van előfordítva, vagy, ha ez nem lehetséges, az első CONNECT utasítás kiadása előtt hívja meg a SET CLIENT API-t az alkalmazási folyamat kívánt opcióinak beállításához!

sqlcode: -808

sqlstate: 08001

SQL0811NEgy skalár értékű egyesített kiválasztásnak, SELECT INTO utasításnak vagy VALUES INTO utasításnak több sor az eredménye.

Magyarázat: A következők valamelyike okozta a hibát:

Egyesített rendszer felhasználói: Ezt a helyzetet észlelheti a egyesített kiszolgáló vagy az adatforrás.

Az utasítás nem dolgozható föl.

Felhasználói válasz: Győződjék meg róla, hogy az utasítás a megfelelő feltételspecifikációkat tartalmazza! Ha igen, akkor olyan adathibáról lehet szó, amely egy sor helyett több sor visszaadásához vezet.

Egyesített rendszer felhasználói: Szűkítse a problémát a kérést meghiúsító adatforrásra (az SQL utasítás feldolgozását meghiúsító adatforrás meghatározásához nézze meg ezt Problémameghatározási útmutató), és vizsgálja meg az objektumhoz tartozó kiválasztási feltételeket és adatokat!

sqlcode: -811

sqlstate: 21000

SQL0817NAz SQL utasítás nem hajtható végre, mert tiltott frissítési műveletet eredményezne.

Magyarázat: Az alkalmazás megpróbált egy olyan SQL utasítást végrehajtani, amely felhasználói adatok vagy alrendszer-katalógus frissítéséhez vezetne. Ez a következő okok egyike miatt tilos:

Az ilyen SQL utasítások a következők: INSERT, UPDATE, DELETE, CREATE, ALTER, DROP, GRANT és REVOKE.

Az utasítás nem hajtható végre.

Felhasználói válasz: Ha az alkalmazás IMS csak-lekérdezés tranzakcióként fut, kérje meg az IMS rendszerprogramozóját, hogy változtassa meg a tranzakció csak-lekérdezés állapotát.

Ha az IMS vagy CICS alkalmazás távoli frissítést kísérel meg, akkor az alkalmazást meg kell változtatni úgy, hogy helyi alkalmazásként fusson a DBMS kiszolgálón, vagy frissíteni kell a DBMS kiszolgálót úgy, hogy támogassa a kétfázisú protokoll szerinti működést.

Ha az alkalmazás több helyen lévő adatokat próbált meg frissíteni, akkor meg kell változtatni az alkalmazást, vagy az összes érintett DBMS-t frissíteni kell úgy, hogy támogassa a kétfázisú protokoll szerinti működést.

sqlcode: -817

sqlstate: 25000

SQL0818NIdőbélyeg-ütközés keletkezett.

Magyarázat: Az előfordítási időben az előfordító által előállított időbélyeg nem egyezik meg a csomag összerendelési időben kapott időbélyegével.

Ezt a hibát a következő okozhatja:

Egyesített rendszer felhasználói: Az előzőekben felsoroltakon túl a hiba oka lehet még az is, hogy a szükséges csomagok nincsenek összerendelve az összes alkalmazható adatforrásban.

Az utasítás nem dolgozható föl.

Felhasználói válasz: Rendelje a programot újra az adatbázishoz, de az objektummodulnak megfelelő összerendelő fájl használatával, vagy hajtsa végre az adatbázisban tárolt csomagnak megfelelő programot!

Ha a minta adatbázist telepíti, írja föl az üzenet számát és szövegét, majd keresse meg a technikai támogatást nyújtó képviselőjet!

Egyesített rendszer felhasználói: Az előzőekben felsorolt műveleteken túl biztosítsa, hogy a egyesített kiszolgáló által igényelt csomagok az alkalmazható adatforrásokkal legyenek összerendelve! A csomagok adatforrásokhoz történő rendeléséről a Telepítési és konfigurálási kiegészítés tartalmaz további információt.

sqlcode: -818

sqlstate: 51003

SQL0822NAz SQLDA érvénytelen adatcímet vagy jelzőváltozó-címet tartalmaz.

Magyarázat: Az alkalmazási program érvénytelen címet helyezett az SQLDA-ba.

Az utasítás nem dolgozható föl.

Felhasználói válasz: Javítsa ki úgy az alkalmazási programot, hogy az érvényes címeket helyezzen az SQLDA-ba!

sqlcode: -822

sqlstate: 51004

SQL0840NTúl sok elemet eredményezett egy SELECT lista.

Magyarázat: A SELECT listában visszaadott elemek száma meghaladja a megengedett legnagyobb értéket. A (nem egyszerű táblakifejezésekben lévő) SELECT listák megengedett legnagyobb száma 1012. Az egyszerű táblakifejezésekben lévő SELECT listák megengedett legnagyobb száma 5000.

Az utasítás nem dolgozható föl.

Felhasználói válasz: Határozza meg, hogy szükség van-e minden információra! (Megjegyzés: a SELECT * FROM A, B, C SQL utasítás által visszaadott SELECT lista elemeinek száma a három táblában levő oszlopok számának összege.) Ha lehetséges, írja át úgy az SQL utasítást, hogy csak a szükséges információk kerüljenek visszaadásra! Ha minden információra szükség van, bontsa két vagy három utasításra az SQL utasítást!

sqlcode: -840

sqlstate: 54004

SQL0842NMár létezik összeköttetés a kiszolgálóval: "<kiszolgálónév>".

Magyarázat: Az SQLRULES(STD) érvényben van, és a CONNECT utasítás egy létező SQL kapcsolatot jelölt meg.

Felhasználói válasz: A javítás a hibától függ:

Javítsa ki a hibát az alkalmazásban és próbálja meg újra!

sqlcode: -842

sqlstate: 08002

SQL0843NA kiszolgálónév nem ad meg létező kapcsolatot.

Magyarázat: Utasítás, parancs vagy API olyan kiszolgálónevet adott meg, amely nem azonosítja az alkalmazási folyamat egy létező SQL kapcsolatát.

Ez a következők használata mellett történhetett meg:

Felhasználói válasz: A javítás a hibától függ:

Javítsa ki a hibát az alkalmazásban és próbálja meg újra!

sqlcode: -843

sqlstate: 08003

SQL0846NÉrvénytelenül lett az "<oszlopnév>" oszlop specifikálva.

Magyarázat: ALTER vagy CREATE TABLE utasítás esetében a specifikáció az alábbi okok egyike miatt lehet érvénytelen:

Az utasítás nem dolgozható föl.

Felhasználói válasz: Javítsa ki a szintaxist, és küldje el újra az utasítást!

sqlcode: -846

sqlstate: 42815

SQL0859NA tranzakciókezelő adatbázis elérése nem sikerült, SQLCODE = "<SQLCODE>".

Magyarázat: Az alkalmazás előfordítása a SYNCPOINT(TWOPHASE) beállítással történt, és a kétfázisú véglegesítés összehangolásához tranzakciókezelő adatbázisra van szükség. A tranzakciókezelő adatbázis elérhetetlensége a következő okok miatt állhat fenn:

Felhasználói válasz: Lehetséges műveletek:

sqlcode: -859

sqlstate: 08502

SQL0863WSikerült létrehozni a kapcsolatot, de csak egybájtos karaktereket szabad használni.

Magyarázat: A kiszolgáló adatbázis és az ügyfél alkalmazás különböző nyelvtípusokhoz tartozó kódlapokat használ, és bármilyen olyan karakter, amely a 7-bites ASCII tartományon kívül esik, nem biztos, hogy elérhető lesz a másik környezetben (mindegyik kódlapban csak a 7-bites ASCII tartomány létezik). Például, létrejöhet kapcsolat egy japán és egy latin-1 kódlap között, de egyik japán karakter sem lesz elérhető a latin-1 kódlapon, ezért ezeket a karaktereket nem szabad használni, az angol karakterek azonban használhatók.

Egyesített rendszer felhasználói: A lehetséges okok:

Felhasználói válasz: Ne adjon ki az alkalmazás és az adatbázis kódlapjában eltérő karaktereket használó SQL utasítást vagy parancsot!

Egyesített rendszer felhasználói: Ne adjon ki az ügyfél rendszerben, az egyesített rendszerben és az adatforrásban eltérő karaktereket használó SQL utasítást!

sqlcode: +863

sqlstate: 01539

SQL0865NÉrvénytelen tm_database érték.

Magyarázat: Az adatbáziskezelő konfiguráció tm_database paraméterében megadott adatbázis érvénytelen. Az adatbázisnak DB2 V2.1 vagy későbbi verziójúnak kell lennie és nem lehet DRDA protokollal (vagyis DB2 Connect-en keresztül) elért adatbázis.

Az utasítás nem hajtható végre.

Felhasználói válasz:

  1. Frissítse az adatbáziskezelő konfigurációt; adjon meg érvényes adatbázist a tm_database-hez!
  2. Adjon ki db2stop és db2start parancsot, hogy a változás érvényre jusson!

sqlcode: -865

sqlstate: 08001

SQL0866NSikertelen kapcsolatátirányítás. Okkód: "<okkód>"

Magyarázat: Egy adatbázis katalógusba vételének hatására egy kapcsolat nem támogatott módon került átirányításra.

A lehetséges okkódok a következők:

01
Egy adatbázis kapcsolat egynél több átirányítást tartalmazott egy kiszolgálóról egy másikra; csak egy kapcsolat átirányítása támogatott.

02
Olyan kapcsolat létrehozására történt kísérlet, amelyben egy jelenlegi verziójú DB2 ügyfél vagy kiszolgáló és egy 1-es verziójú ügyfél vagy kiszolgáló is szerepelt. Ez az átirányítási kísérlet meghiúsult, mivel az átirányítás 1-es verziójú ügyfelek és kiszolgálók esetén nem támogatott.

Felhasználói válasz: Az egyes okkódok szerint a következők a teendők:

01
Vegye újra katalógusba az adatbázist úgy, hogy csak egy kiszolgáló irányítja át a kapcsolatot egy másik kiszolgálóra az összeköttetési útvonalon!

02
Vegye újra katalógusba az adatbázist úgy, hogy egyetlen közbülső kiszolgáló se irányítsa át a kapcsolatot!

sqlcode: -866

sqlstate: 08001

SQL0868NKísérlet történt egy USER/USING tagmondattal rendelkező CONNECT utasítás végrehajtására olyan kiszolgálóval kapcsolatban, amellyel már fennáll a kapcsolat.

Magyarázat: A kiszolgálóval már létrejött egy aktuális vagy rejtett kapcsolat, így USER/USING tagmondatot használó CONNECT utasítás kiadása erre a kiszolgálóra érvénytelen.

Felhasználói válasz: Lehetséges teendők:

sqlcode: -868

sqlstate: 51022

SQL0880NA "<mentési_pont_név>" mentési pont nem létezik, vagy ebben a szövegkörnyezetben érvénytelen.

Magyarázat: Hiba történt egy RELEASE vagy ROLLBACK TO SAVEPOINT "<mentési_pont_név>" utasítás kiadásakor. Vagy nem létezik ilyen nevű mentési pont, vagy az aktuális atomi végrehajtási környezeten kívül lett létrehozva.

Az utasítás nem dolgozható föl.

Felhasználói válasz: Javítsa ki a mentési pont nevét az utasításban, és adja ki újra az utasítást!

sqlcode: -880

sqlstate: 3B001

SQL0881N"<mentési_pont_név>" nevű mentési pont már létezik, de ez a mentési pont név nem újrafelhasználható.

Magyarázat: A "<mentési_pont_név>" név már használva lett egy SAVEPOINT utasításban. A mentési pont nevet nem lehet újrafelhasználni, mert legalább egy ezt a nevet használó SAVEPOINT utasítás megadta a UNIQUE kulcsszót, amely megköveteli, hogy a név egyedi legyen.

Az utasítás nem dolgozható föl. Az új mentési pont nem lett beállítva. A régi mentési pont ugyanazzal a névvel még mindig létezik.

Felhasználói válasz: Válasszon másik nevet ennek a mentési pontnak, és adja ki újra a SAVEPOINT utasítást! Ha a létező mentési pont újrafelhasználása szükséges, adja ki először a RELEASE SAVEPOINT utasítást a meglevő mentési pont felszabadítására! Azonban legyen rá felkészülve, hogy a RELEASE SAVEPOINT utasítás felszabadítja a tranzakcióban a megadott mentési pont után létrehozott mentési pontokat is. További tájékoztatásért lásd: SQL Reference.

sqlcode: -881

sqlstate: 3B501

SQL0882NA mentési pont nem létezik.

Magyarázat: Hiba történt egy ROLLBACK TO SAVEPOINT utasítás kiadásakor. ROLLBACK TO SAVEPOINT utasítás kiadása konkrét mentési pont név nélkül nem megengedett, amikor nincs létező mentési pont.

Az utasítás nem dolgozható föl.

Felhasználói válasz: Adjon ki másik utasítást, vagy próbálja meg visszagörgetni a teljes tranzakció a ROLLBACK utasítással!

sqlcode: -882

sqlstate: 3B502


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