Message Reference

SQL0800 - SQL0899

SQL0801NIzvrš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

SQL0802NPriš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

SQL0803NEna 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

SQL0804NVhodni 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:

100
Narejena zahteva ni podprta ali pa je izven konteksta.

101
SQLDA.SQLN je manj kot SQLDA.SQLD

102
SQLVAR.SQLTYPE ni veljaven.

Zvezni sistemski uporabniki: Zvezni strežnik ali izvor podatkov, do katerega želite dostopati ne podpirata podanega tipa podatkov.

103
Dolžina, podana za SQLVAR.SQLLEN ali SQLVAR2.SQLLONGLEN, ni pravilna za tip SQL, podan v SQLVAR.SQLTYPE.

104
Pričakovano je podvojevanje SQLVAR-jev, polje SQLDOUBLED v SQLDA.SQLDAID pa ni nastavljeno na '2'. To je potrebno zaradi strukturiranega tipa ali tipa velikega objekta.

105
Dvobajtni veliki objekt ima liho vrednost, naznačeno s kazalcem SQLVAR2.SQLDATALEN, ki je vedno na osnovi bajtov, tudi za DBCLOB-e.

106
Kazalec SQLDATA ni veljaven ali pa kaže na nezadosten pomnilnik.

107
Kazalec SQLIND ni veljaven ali pa kaže na nezadosten pomnilnik.

108
Kazalec SQLDATALEN ni veljaven ali pa kaže na nezadosten pomnilnik.

109
Podano število vhodnih spremenljivk gostitelja/SQLVARS je pričakovano za trenutni stavek SQL.

110
Lokator LOB ni povezan z LOB-om združljivega tipa.

111
LOB je naznačen z SQLTYPE SQLVAR, vendar je drugi SQLVAR ničelen.

112
Polje SQLDATATYPE NAME ni veljavno. Ne ustreza formatu za določanje obstoječega uporabniško definiranega tipa v bazi podatkov. Format za določanje obstoječega uporabniško definiranega tipa je naslednji: 8 bajtov, sledi pika (.), nato še 18 bajtov.

113
Polje SQLFLAG4 ni veljavno. Če podate strukturirani tip, mora biti vrednost X'12'. Če podate referenčni tip, mora biti vrednost X'01'. V drugih primerih mora biti vrednost X'00'.

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

SQL0805NPaket "<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

SQL0808NSemantika 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

SQL0811NRezultat 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

SQL0817NStavka 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

SQL0818NPriš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

SQL0822NSQLDA 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

SQL0840NV 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

SQL0842NPovezava 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

SQL0843NIme 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

SQL0846NNeveljavna 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

SQL0859NDostop 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

SQL0863WPovezava 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

SQL0865NNeveljavna 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:

  1. Konfiguracijo Upravljalnika baz podatkov ažurirajte tako, da bo podajala veljavno bazo podatkov za parameter tm_database.
  2. Izdajte db2stop in db2start, s katerima boste zagotovili, da bodo spremembe stopile v veljavo.

sqlcode: -865

sqlstate: 08001

SQL0866NPreusmeritev 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:

01
Povezava baze podatkov je vključevala več kot eno preusmeritev iz strežnika na drug strežnik; podprta je le ena preusmeritev povezave.

02
Narejen je bil poskus povezave, ki vključuje trenutno različico odjemalca ali strežnika DB2, kot tudi različico 1 odjemalca ali strežnika. Ta poskus ni uspel, ker preusmeritev ni podprta z različico 1 odjemalcev ali strežnikov.

Odgovor uporabnika: Glede na kodo vzroka so dejanja naslednja:

01
Bazo podatkov znova zapišite v katalog tako, da ne obstaja več kot en strežnik, ki povezavo preusmerja na drug strežnik na poti povezave.

02
Bazo podatkov znova zapišite v katalog tako, da ne obstaja noben vmesni strežnik, ki preusmerja povezavo.

sqlcode: -866

sqlstate: 08001

SQL0868NNarejen 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

SQL0880NSAVEPOINT "<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

SQL0881NToč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

SQL0882NToč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


[ Vrh Strani | Predhodna Strani | Naslednja Strani | Obsah | Seznam ]