GetLastExtErrorCode

GetLastExtErrorCode

Funkcia %GetLastExtErrorCode


Funkcia

Funkcia vráti rozšírené informácie o poslednej chybe.

Deklarácia

INT %GetLastExtErrorCode()

Parametre

Žiadne.

Popis

Rozšírené informácie o chybe nastavujú všetky akcie pre prácu s databázou (DB_*, PG_*, SQL_*, DBS_* + akcie pre riadenie databázových transakcií). Číselná hodnota chyby je získaná priamo z databázového enginu, je teda závislá od jeho typu.

Výkon databázovej ESL akcie procesom D2000 DBManager môže byť predčasne ukončený pred vlastným volaním databázového engine z dôvodu detekovania chyby. Tieto chyby generuje proces D2000 DbManager a nie databázový engine.

Interné chyby generované procesom D2000 DBManager sú zásadne záporné:

Code

Msg

Code

Msg

-70 001

<operation>: Column [row # <row_list>] in table <table_name> cannot be NULL! User defined constraint on D2000 table object was violated.
Problém: v stĺpci tabuľky, ktorý je v D2000 označený ako NOT NULL, je neplatná hodnota.

-70 002

<operation>: table <table_name>, column <column_name>, data length <data_length>, column size in DB <column_size>, aborting operation.
Problém: veľkosť dát pri vkladaní alebo aktualizovaní je väčšia ako veľkosť príslušného stĺpca v SQL tabuľke (napr. reťazce).

-70 003

<operation>: table <table_name>, multirow update without keys, aborting operation.
Problém: volaný DB_Update alebo DBS_Update na aktualizáciu viacerých riadkov naraz a tabuľka v D2000 nemá definovaný kľúčový stĺpec.

-70 004

<operation>: table <table_name>, no columns to update in database, aborting operation.
Problém: volaný DB_Update alebo DBS_Update a v tabuľke v databáze nie sú nájdené žiadne stĺpce zodpovedajúce definícii tabuľky v D2000.

-70 005

<operation>: use keys and <row_index>, row affected no rows in the table, aborting operation.
Problém: DB_Update alebo DBS_Update neaktualizovalo žiaden riadok v tabuľke.

-70 006

"No row matching specified condition"

Problém: Chyba akcie DB(S)_READ, pri ktorej bol špecifikovaný jeden riadok lokálnej štruktúrovanej premennej, ale zadanej podmienke nevyhovujú žiadne dáta.

-70 007

Invalid value of key column <column>

Problém: chyba akcie DB(S)_READ, pri ktorej sa číta do jedného riadku štruktúry, nebola špecifikovaná WHERE podmienka a tabuľka má definované kľúčové stĺpce, no hodnota v kľúčovom stĺpci <column> v riadku štruktúry je neplatná, takže DbManager nedokáže vyskladať podmienku.

-70 101

Chyba pri práci so súborom (akcie DB_*_BLOB).

-70 102

Chyba nastavená, ak návratový kód akcie je _ERR_NO_DATA (PG_READ alebo DB_UPDATE_BLOB).

alebo chybové kódy pre DBManager, ktoré sú uvedené v tabuľke _ERR_NR_TRANS_EX s opačným znamienkom "-". Napríklad pri chybe TOO_MANY_ROWS_IN_SELECT bude hodnota, ktorú vráti funkcia, -48. Alebo pri chybe DBM_DATABASE_OFF bude hodnota -52.