Návratové kódy produktu DB2 SQL - DB2 SQL return codes
Návratové kódy SQL se každodenně používají k diagnostice poruch programování v důsledku SQL hovory od DB2 počítačové programy. Důležitou vlastností DB2 programy je zpracování chyb. V poli se uchovává diagnostika chyb obsahující návratový kód SQL SQLCODE v rámci produktu DB2 SLCA blok.
SQLCODE již není součástí standardu SQL. Standard SQL nahradil SQLCODE podrobnějším SQLSTATE.
SQLCA
Struktura komunikační oblasti SQL (SQLCA) se používá v rámci DB2 program vrátit zpětnou vazbu aplikační program.
SQLCODE
Pole SQLCODE obsahuje návratový kód SQL. Kód může být nula (0), záporný nebo kladný:
- 0 znamená, že provedení proběhlo úspěšně.
- Záporné hodnoty označují neúspěšné provedení s chybou.
Příkladem je -911, což znamená, že u a došlo k vypršení časového limitu vrácení zpět. - Kladná hodnota znamená úspěšné provedení s varováním.
Příklad je +100, což znamená, že nebyly nalezeny žádné odpovídající řádky nebo že kurzor dosáhl konce tabulky.
Zde je podrobnější seznam kódů SQLCODE pro produkt DB2. Tento seznam není vyčerpávající. Pamatujte také, že některé SQLCODE se mohou vyskytovat pouze v konkrétních produktech DB2; např. pouze na DB2z / OS, pouze na DB2 LUW nebo pouze na DB2iSeries (AS400).
Nula (úspěšná)
0 Úspěšné
Záporné hodnoty (chyby)
-007 | Zadaný „znak“ není platný znak v příkazech SQL. |
-010 | Konstanta řetězce začínající řetězcem není správně ukončena. |
-029 | Je vyžadována klauzule INTO. |
-060 | NEPLATNÁ SPECIFIKACE typu: spec |
-084 | Nepřijatelný příkaz SQL. |
-101 | Výrok je příliš dlouhý nebo příliš složitý. |
-102 | Řetězcová konstanta je příliš dlouhá. |
-103 | Řetězcová konstanta je příliš dlouhá. Max. 128 znaků. |
-104 | V příkazu SQL došlo k nelegálnímu symbolu. |
-105 | Řetězcová konstanta je příliš dlouhá. |
-117 | Počet hodnot v INSERT neodpovídá počtu sloupců. |
-122 | Sloupec nebo výraz ve výběrovém seznamu není platný |
-156 | Neplatná syntaxe poblíž klíčového slova. |
-180 | Špatná data v datu / čase / časovém razítku. |
-181 | Špatná data v datu / čase / časovém razítku. |
-188 | Hostitelská proměnná v příkazu DESCRIBE není platná řetězcová reprezentace jména. |
-199 | Neoprávněné použití zadaného klíčového slova. |
-203 | REFERENCE NA SLOUPEC název sloupce JE AMBIGUOUS |
-204 | Objekt není definován pro DB2. |
-205 | Název sloupce není v tabulce. |
-206 | Sloupec neexistuje v žádné tabulce SELECT. |
-207 | Neplatný název sloupce. |
-208 | OBJEDNÁVKA PODLE Klauzule JE NEPLATNÁ, protože sloupec název sloupce NENÍ součástí tabulky výsledků |
-209 | Nejednoznačný název sloupce |
-216 | Není stejný počet výrazů na obou stranách srovnání v SELECT. |
-224 | FETCH nemůže učinit INSENSITIVE kurzor CITLIVÝ. |
-229 | Národní prostředí zadané v příkazu SET LOCALE nebylo nalezeno. |
-257 | Implicitní převod v datovém typu není povolen. |
-302 | HODNOTA VSTUPNÍHO PROMĚNNÉHO NEBO PARAMETRU ČÍSLO pozice číslo je NEPLATNÉ NEBO PŘÍLIŠ VELKÉ PRO CÍLOVÝ SLOUPEK NEBO CÍLOVOU HODNOTU |
-303 | HODNOTU NELZE PŘIŘAZIT NA VÝSTUP HOSTITELNÉ ČÍSLO pozice-číslo, PROTOŽE TYPY DAT NENÍ SROVNÁNÍ |
-305 | Vyžaduje se nulový indikátor. |
-311 | Varchar, vložte nebo aktualizujte. -LEN pole se správnou délkou dat není nastaveno. |
-313 | Počet zadaných hostitelských proměnných se nerovná počtu značek parametrů. |
-401 | Datové typy operandů operace nejsou kompatibilní. |
-404 | Zadaný příkaz Sql obsahuje příliš dlouhý řetězec. |
-407 | AKTUALIZACE, VLOŽENÍ NEBO NASTAVENÍ HODNOTY JE NULL, ALE Sloupec název sloupce NEMŮŽE OBSAHOVAT NULL HODNOTY |
-408 | Hodnota není kompatibilní s datovým typem jejího cíle přiřazení. Název cíle je „ |
-418 | Použití značky parametru není platné. |
-420 | Hodnota řetězcového argumentu nebyla pro funkci „název funkce“ přijatelná |
-433 | Data jsou příliš velká |
-438 | Chyba vyvolaná aplikací s diagnostickým textem: text |
-440 | Rutina & 1 na & 2 nebyly nalezeny se zadanými parametry. Funkce nebo procedura se zadaným názvem a kompatibilními argumenty nebyla nalezena. [1] |
-482 | Postup nevrátil žádné lokátory. |
-501 | Kurzor se při FETCH neotevře. |
-502 | Otevírací kurzor, který je již otevřený. |
-503 | Je třeba zadat aktualizační sloupec. |
-504 | Název kurzoru nebyl deklarován. |
-510 | Tabulku určenou kurzorem příkazu Update nebo Delete nelze upravit. |
-530 | Referenční integrita zabraňující INSERT / UPDATE |
-532 | Referenční integrita (pravidlo VYMAZAT RESTRICT) bránící VYMAZÁNÍ. |
-536 | Referenční integrita (pravidlo VYMAZAT RESTRICT) bránící VYMAZÁNÍ. |
-545 | Zkontrolujte omezení bránící INSERT / UPDATE. |
-551 | Selhání autorizace. |
-554 | Autorizační ID nebo role nemůže GRANTOVAT oprávnění pro sebe. |
-601 | Pokusili jste se vytvořit objekt, který již existuje |
-602 | V indexu vytvoření bylo zadáno příliš mnoho sloupců. |
-603 | jedinečný index nelze vytvořit, protože tabulka obsahuje řádky, které jsou duplikáty s ohledem na hodnoty identifikovaných sloupců a období |
-604 | definice datového typu určuje neplatný atribut délky, přesnosti nebo měřítka |
-607 | operace nebo operace volby není pro tento objekt definována |
-610 | varování: vytvořit / změnit na objektu umístil objekt do čekání |
-611 | lze zadat pouze lockmax 0, když velikost zámku tabulkového prostoru je tabulkový prostor nebo tabulka |
-612 | identifikátor je duplicitní název |
-613 | primární klíč nebo hash klíč nebo jedinečné omezení je příliš dlouhé nebo má příliš mnoho sloupců a období |
-614 | index nelze vytvořit nebo změnit, nebo nelze změnit délku sloupce, protože součet vnitřních délek sloupců pro index je větší než povolené maximum |
-615 | typ operace není povolen na používaném balíčku |
-616 | obj-type1 obj-name1 nelze zrušit, protože na něj odkazuje obj-type2 obj-name2 |
-617 | index typu 1 není pro tabulku platný |
-618 | operace operace není povolena v systémových databázích |
-619 | operace zakázána, protože databáze není zastavena |
-620 | klíčové slovo klíčového slova v příkazu typu stmt není povoleno pro prostor typu prostoru v databázi typu databáze |
-621 | duplicitní dbid byl zjištěn dbid a dříve přiřazen k název-databáze |
-622 | pro smíšená data je neplatná, protože možnost instalace smíšených dat je ne |
-623 | cluster není platný pro název tabulky |
-624 | tabulka název-tabulky již má primární klíč nebo jedinečné omezení se zadanými sloupci a tečkami |
-625 | tabulka název-tabulky nemá index k vynucení jedinečnosti primárního nebo jedinečného klíče |
-625 | varování: definice tabulky byla změněna na neúplnou |
-626 | příkaz alter nelze spustit, protože sada stránek není zastavena |
-627 | příkaz alter je neplatný, protože tabulkový prostor nebo index obsahuje sady dat spravované uživateli |
-628 | doložky se vzájemně vylučují |
-629 | set null nelze zadat, protože název cizího klíče nemůže obsahovat hodnoty null |
-630 | chyba: specifikace WHERE NOT NULL je pro indexy typu 1 neplatná |
-631 | název cizího klíče je příliš dlouhý nebo obsahuje příliš mnoho sloupců |
-632 | tabulku nelze definovat jako závislou na názvu tabulky z důvodu omezení pravidla DELETE |
-633 | pravidlo DELETE musí být pravidlo DELETE |
-634 | pravidlo DELETE nesmí být kaskádové |
-635 | pravidla DELETE se nemohou lišit nebo nemohou být nastavena na null |
-636 | rozsahy zadané pro part-num oddílu nejsou platné |
-637 | duplicitní klíčové slovo-název klíčové slovo nebo klauzule |
-638 | tabulku název-tabulky nelze vytvořit, protože chybí definice sloupce |
-639 | sloupec s možnou hodnotou Null cizího klíče s pravidlem DELETE s nastavenou hodnotou null nemůže být sloupcem klíče klíče děleného indexu |
-640 | řádek locksize nelze určit, protože tabulka v tomto tabulkovém prostoru má index typu 1 |
-642 | příliš mnoho sloupců v jedinečných omezeních |
-643 | omezení kontroly nebo hodnota výrazu pro sloupec indexu překračuje klíčový výraz s maximální povolenou délkou |
-644 | neplatná hodnota zadaná pro klíčové slovo nebo klauzuli klíčové slovo nebo klauzule v příkazu stmt-type |
-645 | WHERE NOT NULL je ignorován, protože indexový klíč nemůže obsahovat hodnoty null |
-646 | tabulku název-tabulky nelze vytvořit v zadaném tabulkovém prostoru název-tabulkového prostoru, protože ta již tabulku obsahuje |
-647 | název vyrovnávací paměti bp-name pro implicitní nebo explicitní název tabulkového prostoru nebo indexového prostoru nebyl aktivován |
-650 | prohlášení o změně nelze provést, důvod kód důvodu copyright 2014 TheAmericanProgrammer.com neoprávněné kopírování zakázáno |
-651 | popis tabulky přesahuje maximální velikost deskriptoru objektu. |
-652 | narušení instalace definované procedury editace nebo validace proc-name |
-653 | tabulka název-tabulky v děleném tabulkovém prostoru název-prostoru-prostoru není k dispozici, protože nebyl vytvořen její dělený index |
-655 | vytvořit nebo změnit stogroup je neplatný, protože skupina úložiště by měla konkrétní i nespecifická ID svazku |
-658 | objektový typ nelze zrušit pomocí příkazu statement |
-660 | index název-indexu nelze vytvořit ani změnit v děleném tabulkovém prostoru název-prostoru-prostoru, protože nejsou zadány limity klíčů |
-661 | typ objektu název-objektu nelze vytvořit v děleném tabulkovém prostoru název_prostoru, protože počet specifikací oddílu se nerovná počtu oddílů tabulkového prostoru |
-662 | v tabulkovém prostoru nelze vytvořit rozdělený index nebo nelze tabulkový prostor ovládat indexem. tabulkový prostor název-prostoru, důvod-kód |
-663 | počet klíčových limitních hodnot je buď nula, nebo větší než počet sloupců v klíči indexu index-name |
-664 | vnitřní délka polí limit-key pro dělený index překračuje délku uloženou správcem indexů |
-665 | klauzule oddílu příkazu alter je vynechána nebo neplatná |
-666 | objekt stmt-verb nelze spustit, protože probíhá funkce |
-667 | index shlukování pro dělený tabulkový prostor nelze výslovně zrušit |
-668 | sloupec nelze přidat do tabulky, protože tabulka má postup úprav definovaný s citlivostí atributu řádku |
-669 | objekt nelze explicitně zrušit. důvod kód důvodu |
-670 | délka záznamu v tabulce překračuje limit velikosti stránky |
-671 | atribut oblasti vyrovnávací paměti tabulkového prostoru nelze změnit podle zadání, protože by to změnilo velikost stránky tabulkového prostoru |
-672 | pokles operace není povolen u tabulky název_tabulky |
-676 | fyzické vlastnosti indexu jsou nekompatibilní s ohledem na zadaný příkaz. prohlášení selhalo. důvod kód důvodu |
-677 | nedostatečné virtuální úložiště pro rozšíření skupiny vyrovnávacích pamětí |
-678 | konstanta zadaná pro klíč limitu indexu musí odpovídat datovému typu datový typ odpovídajícího sloupce název-sloupce |
-679 | název objektu nelze vytvořit, protože na objekt čeká kapka |
-680 | pro tabulku, zobrazení nebo tabulkovou funkci je zadáno příliš mnoho sloupců |
-681 | sloupec název-sloupce v rozporu s instalací definovanou procedurou pole. rt: návratový kód, rs: kód důvodu, msg: token zprávy |
-682 | polní proceduru název-procedury nelze načíst |
-683 | specifikace pro sloupec, odlišný typ, funkci nebo datovou položku procedury obsahuje nekompatibilní klauzule |
-684 | délka počátečního řetězce seznamu konstant je příliš dlouhá |
-685 | neplatný typ pole, název sloupce |
-686 | sloupec definovaný polní procedurou nelze porovnat s jiným sloupcem s jinou polní procedurou |
-687 | typy polí nesrovnatelné |
-688 | nesprávná data vrácená z procedury pole, název sloupce, msgno |
-689 | pro závislou tabulku je definováno příliš mnoho sloupců |
-690 | prohlášení je odmítnuto podporou kontroly definice dat. důvod kód důvodu |
-691 | požadovaná registrační tabulka název-tabulky neexistuje |
-692 | požadovaný jedinečný index název-indexu pro registrační tabulku ddl název-tabulky neexistuje |
-693 | sloupec název-sloupce v registrační tabulce ddl nebo název indexu není správně definován |
-694 | příkaz schématu nelze provést, protože čeká na pokles v ddl registrační tabulce název-tabulky |
-694 | příkaz ddl nelze provést, protože čeká na pokles v registrační tabulce ddl |
-695 | pro sloupec bezpečnostního štítku tabulky název-tabulky byla zadána neplatná hodnota |
-696 | definice spouštěče trigger-name zahrnuje neplatné použití názvu korelace nebo názvu názvu přechodové tabulky. reason code = reason-code |
-697 | staré nebo nové názvy korelace nejsou povoleny ve spouštěči definovaném pro klauzuli for for statement. ve spouštěči s klauzulí before nejsou povoleny názvy old_table nebo new_table. |
-747 | Tabulka není k dispozici. |
-803 | Duplicitní klíč při vložení nebo aktualizaci. |
-804 | Chyba ve vstupních parametrech pro příkaz SQL. |
-805 | DBRM nebo balíček nebyl v plánu nalezen. |
-811 | Více než jeden řádek načtený ve VÝBĚRU DO. |
-818 | Plán a program: nesoulad časového razítka. |
-904 | Nedostupný zdroj. Vaše data zamyká někdo jiný. |
-911 | Zablokování nebo časový limit. Zpětné vrácení bylo provedeno. |
-913 | Zablokování nebo časový limit. Žádné vrácení zpět. |
-922 | Je nutné povolení. |
-924 | Interní chyba připojení DB2. |
-927 | Bylo zavoláno jazykové rozhraní, ale nebylo navázáno žádné spojení. |
-955 | Paměť řazení nelze přidělit zpracování příkazu. |
-964 | Prostor protokolu transakcí je vyčerpán nebo dočasně zvyšuje počet aktivních transakcí. |
-998 | Během transakce nebo heuristického zpracování došlo k chybě. |
-7008 | Zadaný objekt není pro požadovanou operaci platný. |
-10330 | Oprávnění odepřeno ke změně databáze. Kontaktujte správce systému. |
-30090 | Vzdálená operace neplatná pro prostředí pro provádění aplikací. |
Pozitivní hodnoty (varování)
+98 | Dynamický příkaz SQL končí středníkem |
+100 | Řádek nebyl nalezen nebo konec kurzoru. |
+222 | Pokouším se načíst řádek v rámci příkazu DELETE. |
+223 | Pokouší se načíst řádek v rámci příkazu UPDATE. |
+231 | FETCH po BEFORE nebo AFTER, ale ne na platném řádku. |
+304 | Hodnotu s datovým typem (datový typ 1) nelze přiřadit hostitelské proměnné, protože hodnota není v rozsahu hostitelské proměnné v pozici (číslo pozice) s datovým typem (datový typ 2) |
+354 | Příkaz načtení sady řádků mohl vrátit jeden nebo více řádků dat. došlo však také k jedné nebo více varovným podmínkám. použijte příkaz získat diagnostiku pro další informace týkající se podmínek, které se vyskytly |
+562 | Udělení oprávnění bylo ignorováno, protože příjemce již má oprávnění od poskytovatele. |
+802 | Nulový indikátor byl nastaven na -2 jako aritmetika. |
Reference
- „Kódy produktu DB2 verze 9.1 pro z / OS“ (PDF). Září 2013.
- „DB2 SQL CODE Popis a řešení“.
- „Kódy SQL“. Září 2013.