602SQL-Úplná dokumentace Index  

Přehled chyb podle možností zpracování

V níže uvedených tabulkách jsou chyby rozděleny podle toho, jak na ně server reaguje a zda je lze ošetřovat handlerem.

Řada chyb způsobuje rollback transakce. Pokud chyba vyvolávající rollback nastala uvnitř atomického bloku, pak se rollback vztahuje pouze na tento blok, stav databáze se tedy vrátí do stavu před vstupem do bloku.

Kategorie "completion condition"

Do této kategorie patří varování a informace o zvláštních situacích. Nevyžadují reakci a pokud nejsou nijak ošetřeny, nemají žádný vliv na provádění operací, nikdy nezpůsobují rollback. Klient se o jejich výskytu může dozvědět, pokud volá funkci Sz_warning.

Kategorie "NOT FOUND"

Do této kategorie patří pouze jediná chyba, která signalizuje vyčerpání záznamů při procházení kurzoru. Tato chyba se zpravidla ošetřuje handlerem. Je-li ošetřena (viz příklad), pak transakce není odvolána a klient se o chybě nedozví. Není-li ošetřena handlerem, pak způsobí rollback transakce.

Identifikátor pro APIčísloSQLSTATEPopis
NOT_FOUND_0200013902000Příkaz FETCH přesunul pozici v kurzoru na neexistující záznam

Kategorie "no rollback exception condition"

Chyby v této kategorii signalizují, že určitá operace nemohla být povedena a že klient nedostane ze serveru normální odpověď. Tyto chyby nezpůsobují rollback transakce. Nedají se ošetřovat handlerem.

Identifikátor pro APIčísloPopis
OUT_OF_TABLE131 číslo záznamu zadané ve funkci pro čtení nebo zápis je mimo rozsah záznamů v tabulce nebo kurzoru
INTERNAL_SIGNAL184interní signál serveru pro klienta
NOTHING_TO_REPL229replikace neproběhla protože není co replikovat - oznámení protější straně, proč nedošlo k replikaci
CONVERSION_NOT_SUPPORTED226fulltextový engine neumí zkonvertovat zadaný text nebo nenalezl soubor k indexování - změna ve verzi 9.5
GERERR_FULLTEXT_CONV6005generická chyba od externího fulltextového konvertoru

Kategorie "handlable exception condition"

Do této kategorie patří chyby, po jejichž výskytu lze definovaným způsobem pokračovat v provádění operací. Dají se ošetřovat handlerem a jsou-li ošetřeny, pak se neprovede rollback, dosud provedené změny zůstanou v platnosti a z pohledu klienta k chybě nedošlo. Nejsou-li ošetřeny, způsobují rollback.

Identifikátor pro APIčísloSQLSTATEPopis
THREAD_START_ERROR132W0132systém nespustil DETACHED rutinu
OBJECT_DOES_NOT_EXIST137W0137SQL příkaz chce pracovat s objektem, který neexistuje
CANNOT_CONVERT_DATA141W0141konverzi dat ve FETCH INTO nelze provést
STRING_CONV_NOT_AVAIL 185W0185konverze nebo porovnání řetězců neproběhlo, protože nejsou k dispozici příslušné kódové stránky; je-li zachycena handlerem, konverze vrátí NULL a porovnání je TRUE
SQ_INVALID_CURSOR_STATE 19624000neplatný stav kurzoru, např. je již zavřen
SQ_SAVEPOINT_INVAL_SPEC 197 3B001neplatné označení savepointu
SQ_TRANS_STATE_ACTIVE 19925001transakce je již zahájena
SQ_INVAL_TRANS_TERM 2002D000 nedovolené ukončení transakce v atomickém příkazu
SQ_TRANS_STATE_RDONLY 20125006tato transakce nesmí modifikovat data
SQ_NUM_VAL_OUT_OF_RANGE 20222003 číselná hodnota mimo povolený rozsah (vyvolání závisí na nastavení kompatibility SQLOPT_MASK_NUM_RANGE)
SQ_INV_CHAR_VAL_FOR_CAST 20322018nepřípustný znak znemožňuje konverzi typu (vyvolání závisí na nastavení kompatibility SQLOPT_MASK_INV_CHAR)
SQ_STRING_DATA_RIGHT_TRU 20422001řetězec znaků je příliš dlouhý, seříznut zprava (vyvolání závisí na nastavení kompatibility SQLOPT_MASK_RIGHT_TRUNC)
SQ_DIVISION_BY_ZERO 20522012dělení nulou v SQL příkazu
SQ_CARDINALITY_VIOLATION 20621000odpověď dotazu (např. pro SELECT INTO) obsahuje jiný počet záznamů než jeden
SQ_INVALID_ESCAPE_CHAR 207 22019chyba v určení znaku ESCAPE v predikátu LIKE
SQ_CASE_NOT_FOUND_STMT 208 20000SQL příkaz CASE neobsahuje vhodnou větev
SQ_RESIGNAL_HND_NOT_ACT 210OK000příkaz RESIGNAL použit mimo ošetření výjimky
SQ_EXT_ROUT_NOT_AVAIL 211 38001externí rutina nebyla nalezena v zadané knihovně (DLL nebo so)
SQ_NO_RETURN_IN_FNC 2122F001v SQL funkci nebyl proveden příkaz RETURN
SQ_INVALID_CURSOR_NAME21734000kurzor tohoto jména neexistuje
LIBRARY_ACCESS_DISABLED223W0223volána externí funkce z nepovoleného adresáře (povoluje se vlastností Dir)
LIBRARY_NOT_FOUND224W0224externí knihovna DLL nebo so nebyla nalezena
WONT_RUN_AS_ROOT228W0228externí funkci nelze volat, pokud linuxový server běží pod účtem uživatele root
SCHEMA_IS_OPEN236W0236nelze smazat aplikaci (schema), pokud je otevřena jiným klientem (vláknem)
GENERR_DAD_DESIGN6000W6000chyba v návrhu DAD
GENERR_XERCES_INIT6001W6001chyba při inicializaci knihoven xerces
GERERR_DAD_PARSING6003W6003chyba při analýze XML struktury DAD

Do této kategorie patří také všechny uživatelem definované výjimky, pokud nejsou sdruženy se sqlstate patřícím do jiné kategorie. Výjimky se aktivují příkazem SIGNAL nebo RESIGNAL a další postup je stejný jako při výskytu chyby.

Kategorie "rollback exception condition"

Do této kategorie patří chyby, po jejichž výskytu nelze pokračovat v provádění operací a je nezbytné provést rollback. Je-li k dispozici handler, může provést dodatečné akce, ale nemůže zabránit rollbacku (handler se vykoná až po rollbacku).

Chyby z této kategorie se nehandlují uvnitř triggerů. Handler se v takovém případě ignoruje.

Identifikátor pro APIčísloSQLSTATEPopis
NOT_LOCKED136W0136nelze zamknout záznam, protože s nim pracuje jiný klient
MUST_NOT_BE_NULL16040002pokus o zapsání hodnoty NULL do sloupce, který to nemá povoleno
REFERENCED_BY_OTHER_OBJECT162W0162pokus zrušit tabulku nebo odstranit index z tabulky, na níž odkazuje jiná tabulka pomocí referenční integrity nebo odstranit doménu použitou v definici tabulky
DEADLOCK 171W0171deadlock, vzájemné zablokování klientů
KEY_DUPLICITY 17240004duplicita klíčů v unikátním indexu
CHECK_CONSTRAIN17440005porušeno integritní omezení v tabulce
REFERENTIAL_CONSTRAIN 17540006porušena referenční integrita mezi tabulkami
TABLE_IS_FULL177W0177počet záznamů v tabulce přesáhl limit
TOO_COMPLEX_TRANS183W0183příliš složitá transakce
ASSERTION_FAILED 195W0195interní chyba
SQ_SAVEPOINT_TOO_MANY 1983B002překročen limit na počet savepointů nebo otevřených atomických bloků
SEQUENCE_EXHAUSTED219W0219sekvence dosáhla maximální hodnoty a není zapnuto cyklování
NO_CURRENT_VAL220W0220CURVAL bylo provedeno před NEXTVAL, není k dispozici
OBJECT_VERSION_NOT_AVAILABLE230W0230požadovaná verze objektu již neexistuje
GERERR_XML_PARSING6002W6002chyba při analýze XML dokumentu při importu

Kategorie "critical exception condition"

Do této kategorie patří zejména chyby, po jejichž výskytu server nemůže pokračovat v operaci a nelze očekávat, že by handler mohl tuto situaci vyřešit. Nelze pro ně definovat handler. Provede se rollback transakce a klientovi se vrátí zpráva o chybě. Do této kategorie patří také signály o neošetřených výjimkách.

Identifikátor pro APIčísloPopis
OUT_OF_KERNEL_MEMORY145vyčerpána operační paměť na serveru
UNREADABLE_BLOCK 152 nečitelný diskový blok - interní chyba
OUT_OF_BLOCKS 154 vyčerpáno místo na disku, vážná chyba, která může poškodit databázový soubor.
163-167interní chyby, obvykle poškození databázového souboru
TABLE_DAMAGED168 databázová tabulka je vážně poškozená
INDEX_DAMAGED191index je poškozen
SQ_UNHANDLED_USER_EXCEPT209uživatelem definovaná výjimka není ošetřena
SQ_TRIGGERED_ACTION 214chyba v akci spuštěné triggerem
FRAMES_EXHAUSTED232interní chyba, vyčerpány rámy pro diskové bloky

Kategorie "chyby v komunikaci klienta se serverem" způsobující rollback

Příčina a řešení těchto chyb leží mimo SQL. Většinou jde o nepovolené nebo nesprávně formulované požadavky klienta na server. Vznikají například během ladění aplikace využívající programové rozhraní serveru (API) v důsledku předání špatných parametrů do funkcí serveru. Každá taková chyba vyvolá rollback transakce, ukončení operace a vrácení informace o chybě klientovi. Na straně serveru je nelze ošetřovat žádným handlerem, klient může obsahovat jejich vhodné ošetření.
Identifikátor pro APIčísloPopis
BAD_MODIF 128program se pokouší pracovat s multiatributy nebo se sloupci proměnné velikosti jako s normálními sloupci nebo naopak.
NO_RIGHT129uživatel nemá dostatek práv na přístup k datům
BAD_ELEM_NUM130neplatné číslo sloupce v tabulce nebo kurzoru
CURSOR_MISUSE 133neplatné číslo kurzoru (např. pokus o použití dosud neotevřeného, již zavřeného nebo cizího kurzoru)
BAD_OPCODE134nedefinovaný požadavek klienta na server
CANNOT_APPEND135kurzor neumožňuje tuto operaci (např. INSERT do JOINu nebo DELETE CURRENT OF na INSENSITIVE kurzor apod.)
INDEX_OUT_OF_RANGE138index hodnoty multiatributu nebo počet hodnot je mimo rozsah daný definicí tabulky
EMPTY140pokus o obnovení uvolněného záznamu nebo o zápis do něj
BAD_PASSWORD142chybné heslo při přihlašování uživatele
PTR_TO_DELETED143databázový ukazatel ukazuje na zrušený záznam
NIL_PTR144databázový ukazatel nikam neukazuje
RECORD_DOES_NOT_EXIST146pokus pracovat s neexistujícím záznamem
IS_DELETED147práce se zrušeným záznamem v kurzoru nebo s již neexistující tabulkou
INDEX_NOT_FOUND148index nenalezen
OBJECT_NOT_FOUND149objekt v aplikaci nenalezen
BAD_DATA_SIZE151 klient předal serveru data nesprávné délky
NOT_LOGGED_IN153klient se dosud úspěšně nepřihlásil na server
REQUEST_BREAKED 155operace byla během provádění zrušena klientem
OS_FILE_ERROR157chyba při práci se souborem (může nastat u klienta nebo na serveru)
INCOMPATIBLE_VERSION158nekompatibilita verzí souboru s daty (*.TDT)
OPERATION_DISABLED161klient je přihlášen bez licence s omezenými možnostmi a snaží se provést nepovolenou operaci
CANNOT_LOCK_KERNEL 169 nelze uzamknout server pro provedení operace, na server jsou připojení uživatelé
ROLLBACK_IN_CURSOR_CREATION170uvnitř vytváření kurzoru byla provedena operace Rollback
UNPROPER_TYPE176typ sloupce není vhodný pro požadovanou funkci
ERROR_IN_FUNCTION_ARG180chyba v hodnotě argumentu API funkce
NO_WRITE_TOKEN 186 nemám přepisovacího peška
WAITING_FOR_ACKN187čekám na potvrzení předchozí replikace
REPL_BLOCKED 188 replikace dosud nebyla odblokována protější stranou
PASSWORD_EXPIRED192 vypršela platnost hesla, nutno zadat nové
NO_KEY_FOUND 193 nelze podepisovat, protože nemáte certifikovaný klíč
DIFFERENT_KEY 194 nelze podepsat, použili jste nesprávný klíč
COLUMN_NOT_EDITABLE 213 pokoušíte se přepsat sloupec dotazu, který není editovatelný
REPLICATION_NOT_RUNNING 215 replikace není zapnuta
ROLE_FROM_DIFF_APPL 218 pokoušíte se nastavovat práva k rolím z jiné aplikace (může nastat při sdílení back-endu nebo front-endu)
NO_WWW_LICENCE 221není zakoupená Internetová licence pro WWW přístup
NO_MORE_INTRANET_LICS 222 málo intranet licencí, další klient odmítnut
LANG_SUPP_NOT_AVAIL225 pro fulltext není instalována podpora pro zvolený jazyk
NO_FULLTEXT_LICENCE227 SQL server nemá licenci pro fulltextový systém
NO_REPL_UNIKEY231tabulka neobsahuje replikační klíč
NO_CONF_RIGHT233uživatel nemá práva provozního správce a nemůže provést operaci
NO_SECUR_RIGHT234uživatel nemá práva bezpečnostního správce a nemůže provést operaci
ACCOUNT_DISABLED235uživatelský účet je zablokován správcem
NO_XML_LICENCE238SQL server nemá licenci pro XML rozšíření

Kategorie "chyby v komunikaci klienta se serverem" nezpůsobující rollback

Další skupina chyb stojí mimo transakční systém a neovlivňuje případné rozpracované transakce. Vznikají na straně klienta nebo na hranici mezi klientem a serverem. V ostatních směrech o nich platí totéž, co o předchozí kategorii chyb.
Identifikátor pro APIčísloPopis
NOT_ANSWERED255operace dosud není dokončena (při asynchronní komunikaci)
OUT_OF_APPL_MEMORY150vyčerpání paměti na straně klienta
CONNECTION_LOST156klient nemá spojení na server, buď server skončil nebo se rozpadlo síťové spojení
REJECTED_BY_KERNEL159požadavek klienta nebude zpracován - zvláštní stav serveru, např. provádění Kontroly konzistence apod.
BAD_VERSION 173nesouhlasí číslo verze klienta a serveru
REQUEST_NESTING178vnoření požadavku klienta na server - nový požadavek zaslán před dokončením předchozího
CANNOT_FOR_ODBC179operace není proveditelná pro ODBC kurzor
ODBC_CURSOR_NOT_OPEN 181zadaný ODBC kurzor není otevřen
DRIVER_NOT_CAPABLE182ODBC driver není schopen požadované operace
BAD_TABLE_PROPERTIES190tabulka nemá potřebné vlastnosti
ERROR_IN_FUNCTION_CALL237chyba při volání API funkce rozpoznaná na straně klienta