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é:
CodeMsg
-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 101Chyba pri práci so súborom (akcie DB_*_BLOB).
-70 102Chyba 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.