SQL0801N | Izvršen je bil poskus deljenja z nič. |
Pojasnilo: Obdelava stolpične funkcije ali aritmetičnega izraza je povzročila deljenje z nič.
Stavka ni mogoče obdelati. Za stavke INSERT, UPDATE ali DELETE ni bilo izvedeno nobeno vstavljanje ali ažuriranje.
Odgovor uporabnika: Preglejte stavek SQL, da boste določili vzrok problema. Če je težava nastopila zaradi podatkov, bo potrebno pregledati podatke, ki so bili v obdelavi ob času napake. Če iščete veljavna območja za podatkovne tipe, poglejte SQL Reference.
Zvezni sistemski uporabniki: preverite stavek SQL, da boste določili vzrok problema. Če je problem odvisen od podatkov, preverite podatke, ki so bili v obdelavi v podatkovnih izvorih, ko je prišlo do napake.
sqlcode: -801
sqlstate: 22012
SQL0802N | Prišlo je do aritmetične prekoračitve ali drugega aritmetičnega izjemnega stanja. |
Pojasnilo: Izid obdelave funkcije stolpcev ali aritmetičnega izraza je aritmetična prekoračitev.
Stavka ni mogoče obdelati. Za stavke INSERT, UPDATE ali DELETE ni bilo izvedeno nobeno vstavljanje ali ažuriranje.
Odgovor uporabnika: Preglejte stavek SQL, da boste določili vzrok problema. Če je težava nastopila zaradi podatkov, bo potrebno pregledati podatke, ki so bili v obdelavi ob času napake. Če iščete veljavna območja za podatkovne tipe, poglejte SQL Reference.
Do te napake lahko pride tudi, če funkcije stolpcev ne morejo obdelati vrednosti, ki jo vrne stavek SQL. Na primer, če izdate stavek SELECT COUNT za tabelo, ki ima več vrstic, kot je definirano z omejitvijo MAX_LONGINT_INT SQL, bo prišlo do napake aritmetičnega prelivanja. Za tabele z več kot 2 147 483 647 vrsticami uporabite funkcijo stolpca COUNT_BIG.
Zvezni sistemski uporabniki: preverite stavek SQL, da boste določili vzrok problema. Če je problem odvisen od podatkov, preverite podatke, ki so bili v obdelavi v podatkovnih izvorih, ko je prišlo do napake. Poglejte ustrezni referenčni opis SQL za izvor podatkov, da boste določili veljavna območja za podatkovne tipe.
sqlcode: -802
sqlstate: 22003
SQL0803N | Ena ali več vrednosti v stavku INSERT, stavku UPDATE ali ažuriranje tujega ključa, povzročeno s stavkom DELETE, ni veljavnih, ker bi ustvarile podvojene vrstice za tabelo s primarnim ključem, enkratno omejitvijo ali enkratnim indeksom. |
Pojasnilo: Tabelo objektov INSERT ali UPDATE omejuje eden ali več indeksov UNIQUE tako, da ima enkratne vrednosti v določenih stolpcih ali skupinah stolpcev. Stavek DELETE v nadrejeni tabeli je lahko povzročil tudi ažuriranje tujega ključa v nadrejeni tabeli, ki je omejena z enim ali več indeksov UNIQUE tako, da ima v določenih stolpcih ali skupinah stolpcev enkratne vrednosti. Enkratni indeks lahko obstaja za podpiranje primarnega ključa ali enkratne omejitve, definirane v tabeli. Zaključek zahtevanega vstavljanja ali ažuriranja povzroči podvojitev vrednosti stolpcev.
Če je pogled objekt stavkov INSERT ali UPDATE, je tabela, za katero je definiran pogled, omejena.
Stavka ni mogoče obdelati. Tabela je ostala nespremenjena.
Odgovor uporabnika: Preglejte definicije vseh indeksov UNIQUE, definiranih za tabelo objektov, da boste določili enkratnostne omejitve, ki jih nalagajo tej indeksi.
Za stavek UPDATE zagotovite, da sama podana operacija ni v neskladju z enkratnostnimi omejitvami. Če tu ni nobene napake, za določitev vzroka problema preglejte vsebino tabele objektov.
Za stavek INSERT preglejte vsebino tabele objektov, da boste določili, katera izmed vrednosti v podani vrednosti krši enkratnostno omejitev. Če stavek INSERT vsebuje podpoizvedbo, mora biti vsebina tabele objektov, na katero se nanaša ta podpoizvedba, primerjana z vsebino tabele objektov, da se določi vzrok problema.
Za stavek DELETE v odvisnih tabelah preglejte enkratne omejitve za tuje ključe, ki so definirani s pravilom ON DELETE SET NULL. Ena takšna tabela ima stolpec tujega ključa, vključen v enkratni indeks, ki ne more biti nastavljen na nič, ker je v stolpcu za to tabelo že nič.
Zvezni sistemski uporabniki: problem omejite na izvor podatkov, ki mu ne uspe obdelati zahteve (za določitev izvora podatkov, ki mu ne uspe obdelati stavka SQL poglejte vodič za odpravljanje težav in za pogoje, navedene predhodno, preverite definicije indeksov in podatke.
sqlcode: -803
sqlstate: 23505
SQL0804N | Vhodni parametri uporabniškega programa za trenutno zahtevo niso veljavni. Koda vzroka "<koda-vzroka>". Če spremenljivka gostitelja ali SQLVAR v SQLDA ni veljavna: številka spremenljivke gostitelja/SQLVAR = "<številka-spremenljivke>", SQLTYPE = "<sqltype>", SQLLEN = "<sqllen>", spremenljivka gostitelja/tip SQLVAR = "<vhod_ali_izhod>". |
Pojasnilo: Napaka se je zgodila med obdelavo trenutne zahteve.
Kode vzrokov so interpretirane tako:
Zvezni sistemski uporabniki: Zvezni strežnik ali izvor podatkov, do katerega želite dostopati ne podpirata podanega tipa podatkov.
V stavkih SQL z gostiteljskimi spremenljivkami za štetje od začetka stavka (ali podstavka, če gre za sestavljeni SQL) uporabite število gostiteljskih spremenljivk, da boste našli neveljavne gostiteljske spremenljivke. Za stavke, ki uporabljajo SQLDA, je za iskanje neveljavnega SQLVAR uporabljeno število SQLVAR. Za vhodni SQLDA preštejte le vhodne gostiteljske spremenljivke ali SQLVAR-e; podobno velja za izhodne gostiteljske spremenljivke. Pomnite, da to število temelji na 1.
Stavka ni mogoče obdelati.
Odgovor uporabnika: Preglejte, ali so v uporabniškem programu kakršnekoli napake. Programer naj ne poskuša spreminjati izhodnih podatkov vnaprejšnjega prevajalnika.
Zvezni sistemski uporabniki: Če ste prejeli kodo vzroka 102, podajte podprti podatkovni tip in znova zaženite program.
sqlcode: -804
sqlstate: 07002
SQL0805N | Paket "<ime-paketa>" ni bilo mogoče najti. |
Pojasnilo: Možni vzroki za prikaz tega sporočila (SQLCODE) so:
Stavka ni mogoče obdelati.
Odgovor uporabnika: Podajte pravilno ime paketa ali pa povežite program. Če aplikacija, ki se izvaja, ni povezana z bazo podatkov, se obrnite na skrbnika baze podatkov, ki jo bo povezal.
Če je pomožne programe DB2 potrebno znova povezati z bazo podatkov, lahko to skrbnik naredi tako, da med tem, ko je povezan z bazo podatkov iz podimenika bnd primerka izda enega izmed naslednjih ukazov CLP:
Zvezni sistemski uporabniki: zagotovite, da so paketi, potrebni za zvezni strežnik, povezani pri ustreznih virih podatkov. Če želite več informacij glede povezovanja paketov z viri podatkov, poglejte Dodatek za nameščanje in konfiguriranje.
sqlcode: -805
sqlstate: 51002
SQL0808N | Semantika stavka CONNECT ni v skladu z drugimi obstoječimi povezavami. |
Pojasnilo: Stavek CONNECT izvira iz izvorne datoteke, ki je bila predhodno prevedena z različnimi povezovalnimi možnostmi (SQLRULES, tip CONNECT, SYNCPOINT ali tip RELEASE) kot jih ima izvorna datoteka, za katero obstaja povezava.
Odgovor uporabnika: Zagotovite, da bodo vse izvorne datoteke vnaprej prevedene z uporabo enakih možnosti CONNECT, če pa to ni mogoče, pokličite SET CLIENT, da boste pred izdajo prvega ukaza CONNECT za uporabniški program nastavili želene možnosti.
sqlcode: -808
sqlstate: 08001
SQL0811N | Rezultat skalarne celotne izbire, stavka SELECT INTO ali stavka VALUES INTO je več kot ena vrstica. |
Pojasnilo: Napako je povzročilo nekaj izmed naslednjega:
Zvezni sistemski uporabniki: to stanje lahko odkrije zvezni strežnik ali vir podatkov.
Stavka ni mogoče obdelati.
Odgovor uporabnika: Zagotovite, da bo stavek vseboval pravilne specifikacije pogojev. Če so specifikacije pravilne, je morda problem v podatkih, ki povzroča, da je takrat, ko je pričakovana le ena vrstica, vrnjenih več.
Zvezni sistemski uporabniki: problem omejite na izvor podatkov, ki mu ne uspe obdelati zahteve (za pomoč pri določanju izvora podatkov, ki mu ne uspe obdelati stavka SQL, poglejte vodič za odpravljanje težav in preverite kriterij izbire ter podatke za ta objekt.
sqlcode: -811
sqlstate: 21000
SQL0817N | Stavka SQL ni mogoče izvesti, ker bo povzročil nedovoljeno ažuriranje. |
Pojasnilo: Aplikacija je poskusila izvršiti stavek SQL, ki bi povzročil popravke uporabniških podatkov ali kataloga podsistema. To je zaradi enega od naslednjih vzrokov prepovedano:
Ti stavki SQL so INSERT, UPDATE, DELETE, CREATE, ALTER, DROP, GRANT in REVOKE.
Stavka ni mogoče izvršiti.
Odgovor uporabnika: Če se aplikacija izvaja kot transakcija IMS, ki je samo za poizvedbe, sistemskega programerja IMS vprašajte, kako se spremeni status samo za poizvedbe transakcije, pod katero se izvaja vaša aplikacija.
Če aplikaciji IMS ali CICS poskušata opraviti oddaljeno ažuriranje, morate aplikacijo spremeniti tako, da se bo izvajala kot lokalna aplikacija na DBMS-ju strežnika ali pa morate DBMS strežnika nadgraditi, da bo podpiral potrditev v dveh korakih.
Če aplikacija poskuša ažurirati podatke na več mestih, morate aplikacijo spremeniti ali pa morate nadgraditi vse DBMS-je, da bodo podpirali potrditev v dveh korakih.
sqlcode: -817
sqlstate: 25000
SQL0818N | Prišlo je do navzkrižja časovnih žigov. |
Pojasnilo: Časovnih žig, ki ga je v času vnaprejšnjega prevajanja izdelal vnaprejšnji prevajalnik, ni enak kot časovni žig, shranjen s paketom v času povezovanja.
Ta problem je lahko povzročilo nekaj izmed naslednjega:
Zvezni sistemski uporabniki: poleg predhodno naštetih vzrokov so lahko vzrok za napako tudi nepovezani paketi pri vseh ustreznih podatkovnih virih.
Stavka ni mogoče obdelati.
Odgovor uporabnika: Aplikacijo znova povežite z uporabo povezovalne datoteke za program, ki se ujema z modulom objekta. Namesto tega lahko tudi izvedete program, ki ustreza paketu, shranjenem v bazi podatkov.
Če nameščate vzorčno bazo podatkov, si zapišite številko ter besedilo tega sporočila in se obrnite na vašega predstavnik servisne službe.
Zvezni sistemski uporabniki: poleg predhodno naštetih dejanj še zagotovite, da so paketi, potrebni za zvezni strežnik, povezani pri ustreznih virih podatkov. V Dodatek za nameščanje in konfiguriranje boste našli podrobnejše informacije o povezovanju paketov z viri podatkov.
sqlcode: -818
sqlstate: 51003
SQL0822N | SQLDA vsebuje naslov podatkov ali naslov indikatorske spremenljivke, ki ni veljaven. |
Pojasnilo: Uporabniški program je vstavil naslov, ki ni veljaven v SQLDA.
Stavka ni mogoče obdelati.
Odgovor uporabnika: Uporabniški program popravite tako, da bo v SQLDA vstavljal veljavne naslove.
sqlcode: -822
sqlstate: 51004
SQL0840N | V seznamu SELECT je bilo vrnjenih preveč postavk. |
Pojasnilo: Število postavk, vrnjenih na seznamu SELECT, presega dovoljeni maksimum. Največje dovoljeno število za sezname SELECT (razen za izraze skupnih tabel) je 1012. Največje dovoljeno število za sezname SELECT v izrazih skupnih tabel je 5000.
Stavka ni mogoče obdelati.
Odgovor uporabnika: Poglejte, ali dejansko potrebujete vse informacije. ( Ne spreglejte, da je število postavk, ki jih je vrnil SELECT list * v stavku SQL SELECT * from A, B, C, vsota števila stolpcev vseh treh tabel ) Če je možno, znova napišite stavek SQL tako, da bodo vrnjene le potrebne informacije. Če so potrebne vse informacije, stavek SQL razdelite v dva ali več stavkov.
sqlcode: -840
sqlstate: 54004
SQL0842N | Povezava s strežnikom "<ime-strežnika>" že obstaja. |
Pojasnilo: SQLRULES(STD) je v veljavi, stavek CONNECT pa določa obstoječo povezavo SQL.
Odgovor uporabnika: Popravek je odvisen od napake:
Popravite napako v aplikaciji in poskusite znova.
sqlcode: -842
sqlstate: 08002
SQL0843N | Ime strežnika ne podaja obstoječe povezave. |
Pojasnilo: Stavek, ukaz ali API so podali ime strežnika, ki ne določa obstoječe povezave SQL aplikacijskega procesa.
To se je zgodilo, če ste uporabljali:
Odgovor uporabnika: Popravek je odvisen od napake:
Popravite napako v aplikaciji in poskusite znova.
sqlcode: -843
sqlstate: 08003
SQL0846N | Neveljavna določba identifikacijskega stolpca "<ime-stolpca>". |
Pojasnilo: Za stavek ALTER ali CREATE TABLE določba identifikacijskega stolpca morda ni veljavna zaradi enega od naslednjih vzrokov:
Stavka ni mogoče obdelati.
Odgovor uporabnika: Popravite skladnjo in znova podajte stavek.
sqlcode: -846
sqlstate: 42815
SQL0859N | Dostop do baze podatkov Upravljalnika transakcij ni uspel s SQLCODE "<SQLCODE>". |
Pojasnilo: Aplikacija je bila vnaprej prevedena s SYNCPOINT(TWOPHASE) in za usklajevanje dvofazne odobritve potrebuje bazo podatkov upravljalnika transakcij. Razlogi, zaradi katerih baza podatkov upravljalnika transakcij ni na voljo, zajemajo naslednje:
Odgovor uporabnika: Možna dejanja so:
sqlcode: -859
sqlstate: 08502
SQL0863W | Povezava je bila uspešno vzpostavljena, vendar lahko uporabite le enobajtne znake. |
Pojasnilo: Strežniška baza podatkov in odjemalska aplikacija uporabljata kodne strani za različne jezikovne tipe, zato ni mogoče zagotoviti nobenih znakov izven 7-bitnega območja ASCII (v vseh kodnih straneh obstajajo le znaki v 7-bitnem območju ASCII). Tako je lahko npr. povezava vzpostavljena med japonsko kodno stranjo in Latin-1, vendar v kodni strani Latin-1 ne bodo na voljo nobeni japonski znaki, zato se tem znakom izognite (angleški znaki delujejo v redu).
Zvezni sistemski uporabniki: možni vzroki so:
Odgovor uporabnika: Ne podajajte stavkov ali ukazov SQL, ki uporabljajo znake, ki niso skupni kodnim stranem aplikacije in baze podatkov.
Zvezni sistemski uporabniki: ne podajajte stavkov ali ukazov SQL, ki uporabljajo znake, ki niso skupni za odjemalski sistem, osrednji sistem in izvor podatkov.
sqlcode: +863
sqlstate: 01539
SQL0865N | Neveljavna vrednost tm_database. |
Pojasnilo: Baza podatkov, izbrana kot tm_database v konfiguraciji upravljalnika baz podatkov, ni veljavna. Baza podatkov mora biti različice DB2 V2.1 ali novejše in ne sme biti baza podatkov, do katere ste dostopili prek protokola DRDA (npr. prek DB2 Connect).
Stavka ni mogoče izvršiti.
Odgovor uporabnika:
sqlcode: -865
sqlstate: 08001
SQL0866N | Preusmeritev povezave ni uspela. Koda vzroka: "<koda-vzroka>" |
Pojasnilo: Zapisovanje imenikov v kataloge za bazo podatkov je povzročilo preusmeritev povezave na način, ki ni podprt.
Mogoče kode vzrokov so:
Odgovor uporabnika: Glede na kodo vzroka so dejanja naslednja:
sqlcode: -866
sqlstate: 08001
SQL0868N | Narejen je bil poskus za vzpostavitev povezave (CONNECT) z uporabo USER/USING s strežnikom, za katerega že obstaja povezava. |
Pojasnilo: Obstaja trenutna ali mirujoča povezava s strežnikom in poskus za vzpostavitev povezave (CONNECT) z uporabo člena USER/USING ni veljaven.
Odgovor uporabnika: Možna dejanja so:
sqlcode: -868
sqlstate: 51022
SQL0880N | SAVEPOINT "<ime-točke-shranjevanja>" ne obstaja ali pa v tem kontekstu ni veljavna. |
Pojasnilo: Pri izdaji stavka RELEASE ali ROLLBACK TO SAVEPOINT "<ime-točke-shranjevanja>" je prišlo do napake. Točka-shranjevanja s tem imenom ne obstaja ali pa je bila vzpostavljena zunaj trenutnega osnovnega konteksta za izvrševanje.
Stavka ni mogoče obdelati.
Odgovor uporabnika: Popravite ime točke shranjevanja v stavku in znova izdajte stavek.
sqlcode: -880
sqlstate: 3B001
SQL0881N | Točka shranjevanja z imenom "<ime-točke-shranjevanja>" že obstaja, vendar imena točke-shranjevanja ni mogoče znova uporabiti. |
Pojasnilo: Ime "<ime-točke-shranjevanja>" je že bilo uporabljeno v stavku SAVEPOINT. Imena točke shranjevanja ni mogoče znova uporabiti, ker je vsaj eden od stavkov SAVEPOINT, ki je uporabil to ime, podal tudi ključno besedo UNIQUE, ki zahteva, da je ime unikatno.
Stavka ni mogoče obdelati. Nova točka shranjevanja ni nastavljena. Še vedno obstaja stara točka shranjevanja z istim imenom.
Odgovor uporabnika: Za to točko shranjevanja izberite drugo ime in znova izdajte stavek SAVEPOINT. Če morate uporabiti obstoječe ime točke shranjevanja, izdajte stavek RELEASE SAVEPOINT, da sprostite obstoječo točko shranjevanja. Upoštevati morate tudi, da stavek RELEASE SAVEPOINT sprosti tudi vse točke shranjevanja, ki so bile vzpostavljene v transkaciji od vzpostavitve podane točke shranjevanja. Za podrobnejše informacije preglejte Referenčni opis SQL.
sqlcode: -881
sqlstate: 3B501
SQL0882N | Točka shranjevanja ne obstaja. |
Pojasnilo: Med izdajanjem ukaza ROLLBACK TO SAVEPOINT je prišlo do napake. Če ne obstaja nobena točka shranjevanja, stavka ROLLBACK TO SAVEPOINT, ne da bi podali določeno ime točke shranjevanja, ne smete podati.
Stavka ni mogoče obdelati.
Odgovor uporabnika: Podajte drug stavek ali pa s stavkom ROLLBACK poskusite povrniti celotno transakcijo.
sqlcode: -882
sqlstate: 3B502