Форум OlegON > Компьютеры и Программное обеспечение > Операционные системы и программное обеспечение

IDAPI Error codes : Операционные системы и программное обеспечение

22.11.2024 22:49


14.09.2006 16:39
//============================================================================
// Error Categories
//============================================================================

#define ERRCAT_NONE 0 // 0 No error
#define ERRCAT_SYSTEM 0x21 // 33 System related (Fatal Error)
#define ERRCAT_NOTFOUND 0x22 // 34 Object of interest Not Found
#define ERRCAT_DATACORRUPT 0x23 // 35 Physical Data Corruption
#define ERRCAT_IO 0x24 // 36 I/O related error
#define ERRCAT_LIMIT 0x25 // 37 Resource or Limit error
#define ERRCAT_INTEGRITY 0x26 // 38 Integrity Violation
#define ERRCAT_INVALIDREQ 0x27 // 39 Invalid Request
#define ERRCAT_LOCKCONFLICT 0x28 // 40 Locking/Contention related
#define ERRCAT_SECURITY 0x29 // 41 Access Violation - Security related
#define ERRCAT_INVALIDCONTEXT 0x2A // 42 Invalid context
#define ERRCAT_OS 0x2B // 43 Os Error not handled by Idapi
#define ERRCAT_NETWORK 0x2C // 44 Network related
#define ERRCAT_OPTPARAM 0x2D // 45 Optional parameter related
#define ERRCAT_QUERY 0x2E // 46 Query related
#define ERRCAT_VERSION 0x2F // 47 Version Mismatch Category
#define ERRCAT_CAPABILITY 0x30 // 48 Capability not supported
#define ERRCAT_CONFIG 0x31 // 49 System configuration error
#define ERRCAT_WARNING 0x32 // 50
#define ERRCAT_OTHER 0x33 // 51 Miscellaneous
#define ERRCAT_COMPATIBILITY 0x34 // 52 Compatibility related
#define ERRCAT_REPOSITORY 0x35 // 53 Data Repository related

#define ERRCAT_DRIVER 0x3E // 62 Driver related
#define ERRCAT_RC 0x3F // 63 Internal


#define ERRBASE_NONE 0 // No error
#define ERRBASE_SYSTEM 0x2100 // System related (Fatal Error)
#define ERRBASE_NOTFOUND 0x2200 // Object of interest Not Found
#define ERRBASE_DATACORRUPT 0x2300 // Physical Data Corruption
#define ERRBASE_IO 0x2400 // I/O related error
#define ERRBASE_LIMIT 0x2500 // Resource or Limit error
#define ERRBASE_INTEGRITY 0x2600 // Integrity Violation
#define ERRBASE_INVALIDREQ 0x2700 // Invalid Request
#define ERRBASE_LOCKCONFLICT 0x2800 // Locking/Contention related
#define ERRBASE_SEC 0x2900 // Access Violation - Security related
#define ERRBASE_IC 0x2A00 // Invalid context
#define ERRBASE_OS 0x2B00 // Os Error not handled by Idapi
#define ERRBASE_NETWORK 0x2C00 // Network related
#define ERRBASE_OPTPARAM 0x2D00 // Optional Parameter related
#define ERRBASE_QUERY 0x2E00 // Query related
#define ERRBASE_VERSION 0x2F00 // Version Mismatch Category
#define ERRBASE_CAPABILITY 0x3000 // Capability not supported
#define ERRBASE_CONFIG 0x3100 // System configuration error
#define ERRBASE_WARNING 0x3200 //
#define ERRBASE_OTHER 0x3300 // Miscellaneous
#define ERRBASE_COMPATIBILITY 0x3400 // Compatibility related
#define ERRBASE_REPOSITORY 0x3500 // Data Repository related

#define ERRBASE_DRIVER 0x3E00 // Driver related
#define ERRBASE_RC 0x3F00 // Internal


//=============================================================================
// Error Codes By Category
//=============================================================================

// ERRCAT_NONE (0)
// ===========

#define ERRCODE_NONE 0

#define DBIERR_NONE (ERRBASE_NONE + ERRCODE_NONE)

// ERRCAT_SYSTEM
// =============

#define ERRCODE_SYSFILEOPEN 1 // Cannot open a system file
#define ERRCODE_SYSFILEIO 2 // I/O error on a system file
#define ERRCODE_SYSCORRUPT 3 // Data structure corruption
#define ERRCODE_NOCONFIGFILE 4 // Cannot find config file
#define ERRCODE_CFGCANNOTWRITE 5 // Cannot write config file (READONLY)
#define ERRCODE_CFGMULTIFILE 6 // Initializing with different ini file
#define ERRCODE_REENTERED 7 // System has been illegally re-entered
#define ERRCODE_CANTFINDIDAPI 8 // Cannot locate IDAPIxx.DLL
#define ERRCODE_CANTLOADIDAPI 9 // Cannot load IDAPIxx.DLL
#define ERRCODE_CANTLOADLIBRARY 10 // Cannot load a service DLL
#define ERRCODE_TEMPFILEERR 11 // Cannot create or open temporary file
#define ERRCODE_MULTIPLEIDAPI 12 // Trying to load multiple IDAPIxx.DLL

#define DBIERR_SYSFILEOPEN (ERRBASE_SYSTEM + ERRCODE_SYSFILEOPEN)
#define DBIERR_SYSFILEIO (ERRBASE_SYSTEM + ERRCODE_SYSFILEIO)
#define DBIERR_SYSCORRUPT (ERRBASE_SYSTEM + ERRCODE_SYSCORRUPT)
#define DBIERR_NOCONFIGFILE (ERRBASE_SYSTEM + ERRCODE_NOCONFIGFILE)
#define DBIERR_CFGCANNOTWRITE (ERRBASE_SYSTEM + ERRCODE_CFGCANNOTWRITE)
#define DBIERR_CFGMULTIFILE (ERRBASE_SYSTEM + ERRCODE_CFGMULTIFILE)
#define DBIERR_REENTERED (ERRBASE_SYSTEM + ERRCODE_REENTERED)
#define DBIERR_CANTFINDIDAPI (ERRBASE_SYSTEM + ERRCODE_CANTFINDIDAPI)
#define DBIERR_CANTLOADIDAPI (ERRBASE_SYSTEM + ERRCODE_CANTLOADIDAPI)
#define DBIERR_CANTLOADLIBRARY (ERRBASE_SYSTEM + ERRCODE_CANTLOADLIBRARY)
#define DBIERR_TEMPFILEERR (ERRBASE_SYSTEM + ERRCODE_TEMPFILEERR)
#define DBIERR_MULTIPLEIDAPI (ERRBASE_SYSTEM + ERRCODE_MULTIPLEIDAPI)

#define DBIERR_CANTFINDODAPI DBIERR_CANTFINDIDAPI
#define DBIERR_CANTLOADODAPI DBIERR_CANTLOADIDAPI

// ERRCAT_NOTFOUND
// ===============

#define ERRCODE_BOF 1 // Beginning of Virtual table
#define ERRCODE_EOF 2 // End of Virtual table
#define ERRCODE_RECMOVED 3 // Fly-away
#define ERRCODE_KEYORRECDELETED 4 // Record Deleted/Key Modified
#define ERRCODE_NOCURRREC 5 // No current record
#define ERRCODE_RECNOTFOUND 6 // Record was not found
#define ERRCODE_ENDOFBLOB 7 // End of Blob reached
#define ERRCODE_OBJNOTFOUND 8 // Generic Not found
#define ERRCODE_FMLMEMBERNOTFOUND 9 // Family member not found
#define ERRCODE_BLOBFILEMISSING 10 // 0x0a Blob file for table is missing
#define ERRCODE_LDNOTFOUND 11 // 0x0b Language driver not found

#define DBIERR_BOF (ERRBASE_NOTFOUND + ERRCODE_BOF)
#define DBIERR_EOF (ERRBASE_NOTFOUND + ERRCODE_EOF)
#define DBIERR_RECMOVED (ERRBASE_NOTFOUND + ERRCODE_RECMOVED)
#define DBIERR_RECDELETED (ERRBASE_NOTFOUND + ERRCODE_KEYORRECDELETED)
#define DBIERR_KEYORRECDELETED (ERRBASE_NOTFOUND + ERRCODE_KEYORRECDELETED)
#define DBIERR_NOCURRREC (ERRBASE_NOTFOUND + ERRCODE_NOCURRREC)
#define DBIERR_RECNOTFOUND (ERRBASE_NOTFOUND + ERRCODE_RECNOTFOUND)
#define DBIERR_ENDOFBLOB (ERRBASE_NOTFOUND + ERRCODE_ENDOFBLOB)
#define DBIERR_OBJNOTFOUND (ERRBASE_NOTFOUND + ERRCODE_OBJNOTFOUND)
#define DBIERR_FMLMEMBERNOTFOUND (ERRBASE_NOTFOUND + ERRCODE_FMLMEMBERNOTFOUND)
#define DBIERR_BLOBFILEMISSING (ERRBASE_NOTFOUND + ERRCODE_BLOBFILEMISSING)
#define DBIERR_LDNOTFOUND (ERRBASE_NOTFOUND + ERRCODE_LDNOTFOUND)

// ERRCAT_DATACORRUPT
// ==================

#define ERRCODE_HEADERCORRUPT 1 // Corrupt Header
#define ERRCODE_FILECORRUPT 2 // File corrupt - other than header
#define ERRCODE_MEMOCORRUPT 3 // Memo file corrupted
#define ERRCODE_BMPCORRUPT 4 // BitMap is corrupt (Internal error)
#define ERRCODE_INDEXCORRUPT 5 // Index is corrupt
#define ERRCODE_CORRUPTLOCKFILE 6 // Corrupt lock file
#define ERRCODE_FAMFILEINVALID 7 // Corrupt family file
#define ERRCODE_VALFILECORRUPT 8 // Val file is missing or corrupt
#define ERRCODE_FOREIGNINDEX 9 // Index is in a foreign format - import first


#define DBIERR_HEADERCORRUPT (ERRBASE_DATACORRUPT + ERRCODE_HEADERCORRUPT)
#define DBIERR_FILECORRUPT (ERRBASE_DATACORRUPT + ERRCODE_FILECORRUPT)
#define DBIERR_MEMOCORRUPT (ERRBASE_DATACORRUPT + ERRCODE_MEMOCORRUPT)
#define DBIERR_BMPCORRUPT (ERRBASE_DATACORRUPT + ERRCODE_BMPCORRUPT)
#define DBIERR_INDEXCORRUPT (ERRBASE_DATACORRUPT + ERRCODE_INDEXCORRUPT)
#define DBIERR_CORRUPTLOCKFILE (ERRBASE_DATACORRUPT + ERRCODE_CORRUPTLOCKFILE)
#define DBIERR_FAMFILEINVALID (ERRBASE_DATACORRUPT + ERRCODE_FAMFILEINVALID)
#define DBIERR_VALFILECORRUPT (ERRBASE_DATACORRUPT + ERRCODE_VALFILECORRUPT)
#define DBIERR_FOREIGNINDEX (ERRBASE_DATACORRUPT + ERRCODE_FOREIGNINDEX)


// ERRCAT_IO
// =========

#define ERRCODE_READERR 1 // Read failure (not expected)
#define ERRCODE_WRITEERR 2 // Write failure (not expected)
#define ERRCODE_DIRNOACCESS 3 // No access to dir
#define ERRCODE_FILEDELETEFAIL 4 // File delete failed
#define ERRCODE_FILENOACCESS 5 // No access to file
#define ERRCODE_ACCESSDISABLED 6 // Access to table disabled (previous error)

#define DBIERR_READERR (ERRBASE_IO + ERRCODE_READERR)
#define DBIERR_WRITEERR (ERRBASE_IO + ERRCODE_WRITEERR)
#define DBIERR_DIRNOACCESS (ERRBASE_IO + ERRCODE_DIRNOACCESS)
#define DBIERR_FILEDELETEFAIL (ERRBASE_IO + ERRCODE_FILEDELETEFAIL)
#define DBIERR_FILENOACCESS (ERRBASE_IO + ERRCODE_FILENOACCESS)
#define DBIERR_ACCESSDISABLED (ERRBASE_IO + ERRCODE_ACCESSDISABLED)

// ERRCAT_LIMIT
// ============

#define ERRCODE_NOMEMORY 1 // Not enough Memory for this op
#define ERRCODE_NOFILEHANDLES 2 // Not enough File handles
#define ERRCODE_NODISKSPACE 3 // Not enough Disk space
#define ERRCODE_NOTEMPTBLSPACE 4 // Temporary Table resource limit
#define ERRCODE_RECTOOBIG 5 // Too big a record size for table
#define ERRCODE_CURSORLIMIT 6 // Too many open cursors
#define ERRCODE_TABLEFULL 7 // Table is full
#define ERRCODE_WSSESLIMIT 8 // Too many sessions from this WS
#define ERRCODE_SERNUMLIMIT 9 // Serial number limit (paradox)
#define ERRCODE_INTERNALLIMIT 10 // 0x0a Some internal limit (see context)
#define ERRCODE_OPENTBLLIMIT 11 // 0x0b Too many open tables
#define ERRCODE_TBLCURSORLIMIT 12 // 0x0c Too many cursors per table
#define ERRCODE_RECLOCKLIMIT 13 // 0x0d Too many record locks on table
#define ERRCODE_CLIENTSLIMIT 14 // 0x0e Too many clients
#define ERRCODE_INDEXLIMIT 15 // 0x0f Too many indexes (also in Table Create)
#define ERRCODE_SESSIONSLIMIT 16 // 0x10 Too many sessions
#define ERRCODE_DBLIMIT 17 // 0x11 Too many databases
#define ERRCODE_PASSWORDLIMIT 18 // 0x12 Too many passwords
#define ERRCODE_DRIVERLIMIT 19 // 0x13 Too many active drivers
#define ERRCODE_FLDLIMIT 20 // 0x14 Too many Fields in Table Create
#define ERRCODE_TBLLOCKLIMIT 21 // 0x15 Too many table locks
#define ERRCODE_OPENBLOBLIMIT 22 // 0x16 Too many open blobs
#define ERRCODE_LOCKFILELIMIT 23 // 0x17 Lock file has grown too big
#define ERRCODE_OPENQRYLIMIT 24 // 0x18 Too many open queries
#define ERRCODE_THREADLIMIT 25 // 0x19 Too many threads for client
#define ERRCODE_BLOBLIMIT 26 // 0x1a Too many blobs
#define ERRCODE_PDX50NAMELIMIT 27 // 0x1b Pathname is too long for a Paradox 5.0 or less table
#define ERRCODE_ROWFETCHLIMIT 28 // 0x1c Row fetch limit

#define DBIERR_NOMEMORY (ERRBASE_LIMIT + ERRCODE_NOMEMORY)
#define DBIERR_NOFILEHANDLES (ERRBASE_LIMIT + ERRCODE_NOFILEHANDLES)
#define DBIERR_NODISKSPACE (ERRBASE_LIMIT + ERRCODE_NODISKSPACE)
#define DBIERR_NOTEMPTBLSPACE (ERRBASE_LIMIT + ERRCODE_NOTEMPTBLSPACE)
#define DBIERR_RECTOOBIG (ERRBASE_LIMIT + ERRCODE_RECTOOBIG)
#define DBIERR_CURSORLIMIT (ERRBASE_LIMIT + ERRCODE_CURSORLIMIT)
#define DBIERR_TABLEFULL (ERRBASE_LIMIT + ERRCODE_TABLEFULL)
#define DBIERR_WSSESLIMIT (ERRBASE_LIMIT + ERRCODE_WSSESLIMIT)
#define DBIERR_SERNUMLIMIT (ERRBASE_LIMIT + ERRCODE_SERNUMLIMIT)
#define DBIERR_INTERNALLIMIT (ERRBASE_LIMIT + ERRCODE_INTERNALLIMIT)
#define DBIERR_OPENTBLLIMIT (ERRBASE_LIMIT + ERRCODE_OPENTBLLIMIT)
#define DBIERR_TBLCURSORLIMIT (ERRBASE_LIMIT + ERRCODE_TBLCURSORLIMIT)
#define DBIERR_RECLOCKLIMIT (ERRBASE_LIMIT + ERRCODE_RECLOCKLIMIT)
#define DBIERR_CLIENTSLIMIT (ERRBASE_LIMIT + ERRCODE_CLIENTSLIMIT)
#define DBIERR_INDEXLIMIT (ERRBASE_LIMIT + ERRCODE_INDEXLIMIT)
#define DBIERR_SESSIONSLIMIT (ERRBASE_LIMIT + ERRCODE_SESSIONSLIMIT)
#define DBIERR_DBLIMIT (ERRBASE_LIMIT + ERRCODE_DBLIMIT)
#define DBIERR_PASSWORDLIMIT (ERRBASE_LIMIT + ERRCODE_PASSWORDLIMIT)
#define DBIERR_DRIVERLIMIT (ERRBASE_LIMIT + ERRCODE_DRIVERLIMIT)
#define DBIERR_FLDLIMIT (ERRBASE_LIMIT + ERRCODE_FLDLIMIT)
#define DBIERR_TBLLOCKLIMIT (ERRBASE_LIMIT + ERRCODE_TBLLOCKLIMIT)
#define DBIERR_OPENBLOBLIMIT (ERRBASE_LIMIT + ERRCODE_OPENBLOBLIMIT)
#define DBIERR_LOCKFILELIMIT (ERRBASE_LIMIT + ERRCODE_LOCKFILELIMIT)
#define DBIERR_OPENQRYLIMIT (ERRBASE_LIMIT + ERRCODE_OPENQRYLIMIT)
#define DBIERR_THREADLIMIT (ERRBASE_LIMIT + ERRCODE_THREADLIMIT)
#define DBIERR_BLOBLIMIT (ERRBASE_LIMIT + ERRCODE_BLOBLIMIT)
#define DBIERR_PDX50NAMELIMIT (ERRBASE_LIMIT + ERRCODE_PDX50NAMELIMIT)
#define DBIERR_ROWFETCHLIMIT (ERRBASE_LIMIT + ERRCODE_ROWFETCHLIMIT)


// ERRCAT_INTEGRITY
// ================

#define ERRCODE_KEYVIOL 1 // Key violation
#define ERRCODE_MINVALERR 2 // Min val check failed
#define ERRCODE_MAXVALERR 3 // Max val check failed
#define ERRCODE_REQDERR 4 // Field value required
#define ERRCODE_FORIEGNKEYERR 5 // Master record missing
#define ERRCODE_DETAILRECORDSEXIST 6 // Cannot MODIFY or DELETE this Master record
#define ERRCODE_MASTERTBLLEVEL 7 // Master Table Level is incorrect
#define ERRCODE_LOOKUPTABLEERR 8 // Field value out of lookup tbl range
#define ERRCODE_LOOKUPTBLOPENERR 9 // Lookup Table Open failed
#define ERRCODE_DETAILTBLOPENERR 10 // 0x0a Detail Table Open failed
#define ERRCODE_MASTERTBLOPENERR 11 // 0x0b Master Table Open failed
#define ERRCODE_FIELDISBLANK 12 // 0x0c Field is blank

#define ERRCODE_MASTEREXISTS 13 // 0x0d Master Table exists
#define ERRCODE_MASTERTBLOPEN 14 // 0x0e Master Table is open

#define ERRCODE_DETAILTABLESEXIST 15 // 0x0f Detail Tables exist ( cannot delete, rename ... )
#define ERRCODE_DETAILRECEXISTEMPTY 16 // 0x10 Cannot empty because details exist
#define ERRCODE_MASTERREFERENCEERR 17 // 0x11 Cannot modify while adding self referencing Referential Integrity
#define ERRCODE_DETAILTBLOPEN 18 // 0x12 Detail Table is opened
#define ERRCODE_DEPENDENTSMUSTBEEMPTY 19 // 0x13 Cannot make a master a detail of another table if its details are not empty !
#define ERRCODE_RINTREQINDEX 20 // 0x14 Ref. integrity fields must be indexed
#define ERRCODE_LINKEDTBLPROTECTED 21 // 0x15 Master Table is protected ( requires password to open)
#define ERRCODE_FIELDMULTILINKED 22 // 0x16 Field has more than one master


#define DBIERR_KEYVIOL (ERRBASE_INTEGRITY + ERRCODE_KEYVIOL)
#define DBIERR_MINVALERR (ERRBASE_INTEGRITY + ERRCODE_MINVALERR)
#define DBIERR_MAXVALERR (ERRBASE_INTEGRITY + ERRCODE_MAXVALERR)
#define DBIERR_REQDERR (ERRBASE_INTEGRITY + ERRCODE_REQDERR)
#define DBIERR_FORIEGNKEYERR (ERRBASE_INTEGRITY + ERRCODE_FORIEGNKEYERR)
#define DBIERR_DETAILRECORDSEXIST (ERRBASE_INTEGRITY + ERRCODE_DETAILRECORDSEXIST)
#define DBIERR_MASTERTBLLEVEL (ERRBASE_INTEGRITY + ERRCODE_MASTERTBLLEVEL)
#define DBIERR_LOOKUPTABLEERR (ERRBASE_INTEGRITY + ERRCODE_LOOKUPTABLEERR)
#define DBIERR_LOOKUPTBLOPENERR (ERRBASE_INTEGRITY + ERRCODE_LOOKUPTBLOPENERR)
#define DBIERR_DETAILTBLOPENERR (ERRBASE_INTEGRITY + ERRCODE_DETAILTBLOPENERR)
#define DBIERR_MASTERTBLOPENERR (ERRBASE_INTEGRITY + ERRCODE_MASTERTBLOPENERR)
#define DBIERR_FIELDISBLANK (ERRBASE_INTEGRITY + ERRCODE_FIELDISBLANK)
#define DBIERR_MASTEREXISTS (ERRBASE_INTEGRITY + ERRCODE_MASTEREXISTS)
#define DBIERR_MASTERTBLOPEN (ERRBASE_INTEGRITY + ERRCODE_MASTERTBLOPEN)
#define DBIERR_DETAILTABLESEXIST (ERRBASE_INTEGRITY + ERRCODE_DETAILTABLESEXIST)
#define DBIERR_DETAILRECEXISTEMPTY (ERRBASE_INTEGRITY + ERRCODE_DETAILRECEXISTEMPTY)
#define DBIERR_MASTERREFERENCEERR (ERRBASE_INTEGRITY + ERRCODE_MASTERREFERENCEERR)
#define DBIERR_DETAILTBLOPEN (ERRBASE_INTEGRITY + ERRCODE_DETAILTBLOPEN)
#define DBIERR_DEPENDENTSMUSTBEEMPTY (ERRBASE_INTEGRITY + ERRCODE_DEPENDENTSMUSTBEEMPTY)
#define DBIERR_RINTREQINDEX (ERRBASE_INTEGRITY + ERRCODE_RINTREQINDEX)
#define DBIERR_LINKEDTBLPROTECTED (ERRBASE_INTEGRITY + ERRCODE_LINKEDTBLPROTECTED)
#define DBIERR_FIELDMULTILINKED (ERRBASE_INTEGRITY + ERRCODE_FIELDMULTILINKED)



// ERRCAT_INVALIDREQ
// =================

#define ERRCODE_OUTOFRANGE 1 // Number out of range (e.g field no)
#define ERRCODE_INVALIDPARAM 2 // Generic invalid parameter
#define ERRCODE_INVALIDFILENAME 3 // Invalid file name
#define ERRCODE_NOSUCHFILE 4 // No such file
#define ERRCODE_INVALIDOPTION 5 // Invalid option for a parameter
#define ERRCODE_INVALIDHNDL 6 // Invalid handle to the function
#define ERRCODE_UNKNOWNTBLTYPE 7 // Table type given not known
#define ERRCODE_UNKNOWNFILE 8 // Dont know how to open file
#define ERRCODE_PRIMARYKEYREDEFINE 9 // Cannot redefine primary key
#define ERRCODE_INVALIDRINTDESCNUM 10 // 0x0a Cannot change this RINTDesc
#define ERRCODE_KEYFLDTYPEMISMATCH 11 // 0x0b Foreign & Primary Key Mismatch
#define ERRCODE_INVALIDMODIFYREQUEST 12 // 0x0c Invalid modify request
#define ERRCODE_NOSUCHINDEX 13 // 0x0d Index does not exist
#define ERRCODE_INVALIDBLOBOFFSET 14 // 0x0e Invalid Offset into the Blob
#define ERRCODE_INVALIDDESCNUM 15 // 0x0f Invalid descriptor number
#define ERRCODE_INVALIDFLDTYPE 16 // 0x10 Invalid field type
#define ERRCODE_INVALIDFLDDESC 17 // 0x11 Invalid field descriptor
#define ERRCODE_INVALIDFLDXFORM 18 // 0x12 Invalid field transform
#define ERRCODE_INVALIDRECSTRUCT 19 // 0x13 Invalid record structure
#define ERRCODE_INVALIDDESC 20 // 0x14 Generic: invalid descriptor
#define ERRCODE_INVALIDINDEXSTRUCT 21 // 0x15 Invalid array of indexes descriptors
#define ERRCODE_INVALIDVCHKSTRUCT 22 // 0x16 Invalid array of val. check descriptors
#define ERRCODE_INVALIDRINTSTRUCT 23 // 0x17 Invalid array of ref. integrity descriptors
#define ERRCODE_INVALIDRESTRTBLORDER 24 // 0x18 Invalid ordering of tables during restructure
#define ERRCODE_NAMENOTUNIQUE 25 // 0x19 Name not unique in this context
#define ERRCODE_INDEXNAMEREQUIRED 26 // 0x1a Index name required
#define ERRCODE_INVALIDSESHANDLE 27 // 0x1b Invalid ses handle
#define ERRCODE_INVALIDRESTROP 28 // 0x1c Invalid restructure operation
#define ERRCODE_UNKNOWNDRIVER 29 // 0x1d Driver not known to system
#define ERRCODE_UNKNOWNDB 30 // 0x1e Unknown db
#define ERRCODE_INVALIDPASSWORD 31 // 0x1f Invalid password given
#define ERRCODE_NOCALLBACK 32 // 0x20 No callback function
#define ERRCODE_INVALIDCALLBACKBUFLEN 33 // 0x21 Invalid callback buffer length
#define ERRCODE_INVALIDDIR 34 // 0x22 Invalid directory
#define ERRCODE_INVALIDXLATION 35 // 0x23 Translate Error - Translate DID NOT happen
#define ERRCODE_DIFFERENTTABLES 36 // 0x24 Cannot Set Cursor of one Table to another
#define ERRCODE_INVALIDBOOKMARK 37 // 0x25 Bookmarks does not match table, etc.
#define ERRCODE_INVALIDINDEXNAME 38 // 0x26 Index/Tag Name is invalid
#define ERRCODE_INVALIDIDXDESC 39 // 0x27 Invalid index descriptor
#define ERRCODE_NOSUCHTABLE 40 // 0x28 No such table
#define ERRCODE_USECOUNT 41 // 0x29 Table has too many users
#define ERRCODE_INVALIDKEY 42 // 0x2a Key does not pass filter condition
#define ERRCODE_INDEXEXISTS 43 // 0x2b Index already exists
#define ERRCODE_INDEXOPEN 44 // 0x2c Index is open
#define ERRCODE_INVALIDBLOBLEN 45 // 0x2d Invalid Blob Length
#define ERRCODE_INVALIDBLOBHANDLE 46 // 0x2e Invalid Blob handle (in record buffer)
#define ERRCODE_TABLEOPEN 47 // 0x2f Table is open
#define ERRCODE_NEEDRESTRUCTURE 48 // 0x30 Need to do (hard) restructure
#define ERRCODE_INVALIDMODE 49 // 0x31 Invalid mode
#define ERRCODE_CANNOTCLOSE 50 // 0x32 Cannot close index
#define ERRCODE_ACTIVEINDEX 51 // 0x33 Index is being used to order tbl
#define ERRCODE_INVALIDUSRPASS 52 // 0x34 Bad user name or password
#define ERRCODE_MULTILEVELCASCADE 53 // 0x35 Multi level Cascade not supported
#define ERRCODE_INVALIDFIELDNAME 54 // 0x36 Invalid field name
#define ERRCODE_INVALIDTABLENAME 55 // 0x37 Invalid table name
#define ERRCODE_INVALIDLINKEXPR 56 // 0x38 Invalid linked cursor expression
#define ERRCODE_NAMERESERVED 57 // 0x39 Name is reserved
#define ERRCODE_INVALIDFILEEXTN 58 // 0x3a Invalid file extention
#define ERRCODE_INVALIDLANGDRV 59 // 0x3b Invalid language driver
#define ERRCODE_ALIASNOTOPEN 60 // 0x3c Requested alias in not open
#define ERRCODE_INCOMPATRECSTRUCTS 61 // 0x3d Incompatible record structures
#define ERRCODE_RESERVEDDOSNAME 62 // 0x3e Reserved dos name
#define ERRCODE_DESTMUSTBEINDEXED 63 // 0x3f Destination must be indexed
#define ERRCODE_INVALIDINDEXTYPE 64 // 0x40 Invalid index type
#define ERRCODE_LANGDRVMISMATCH 65 // 0x41 Language driver of table and index do not match
#define ERRCODE_NOSUCHFILTER 66 // 0x42 Filter handle is invalid
#define ERRCODE_INVALIDFILTER 67 // 0x43 Invalid filter

#define ERRCODE_INVALIDTABLECREATE 68 // 0x44 Bad table create request (exact prob unknown)
#define ERRCODE_INVALIDTABLEDELETE 69 // 0x45 Bad table delete request (exact prob unknown)
#define ERRCODE_INVALIDINDEXCREATE 70 // 0x46 Bad index create request (exact prob unknown)
#define ERRCODE_INVALIDINDEXDELETE 71 // 0x47 Bad index delete request (exact prob unknown)
#define ERRCODE_INVALIDTABLE 72 // 0x48 Invalid table name specified
#define ERRCODE_MULTIRESULTS 73 // 0X49 Multi results
#define ERRCODE_INVALIDTIME 74 // 0X4A Multi results
#define ERRCODE_INVALIDDATE 75 // 0X4B Multi results
#define ERRCODE_INVALIDTIMESTAMP 76 // 0X4C Multi results
#define ERRCODE_DIFFERENTPATH 77 // 0X4d Tables in different paths
#define ERRCODE_MISMATCHARGS 78 // 0x4e MisMatch in the # of arguments
#define ERRCODE_FUNCTIONNOTFOUND 79 // 0x4f Loaderlib cant find a func in the DLL (bad version?)
#define ERRCODE_MUSTUSEBASEORDER 80 // 0x50 Must use baseorder for this operation
#define ERRCODE_INVALIDPROCEDURENAME 81 // 0x51 Invalid procedure name
#define ERRCODE_INVALIDFLDMAP 82 // 0x52 invalid field map


#define DBIERR_OUTOFRANGE (ERRBASE_INVALIDREQ + ERRCODE_OUTOFRANGE)
#define DBIERR_INVALIDPARAM (ERRBASE_INVALIDREQ + ERRCODE_INVALIDPARAM)
#define DBIERR_INVALIDFILENAME (ERRBASE_INVALIDREQ + ERRCODE_INVALIDFILENAME)
#define DBIERR_NOSUCHFILE (ERRBASE_INVALIDREQ + ERRCODE_NOSUCHFILE)
#define DBIERR_INVALIDOPTION (ERRBASE_INVALIDREQ + ERRCODE_INVALIDOPTION)
#define DBIERR_INVALIDHNDL (ERRBASE_INVALIDREQ + ERRCODE_INVALIDHNDL)
#define DBIERR_UNKNOWNTBLTYPE (ERRBASE_INVALIDREQ + ERRCODE_UNKNOWNTBLTYPE)
#define DBIERR_UNKNOWNFILE (ERRBASE_INVALIDREQ + ERRCODE_UNKNOWNFILE)
#define DBIERR_PRIMARYKEYREDEFINE (ERRBASE_INVALIDREQ + ERRCODE_PRIMARYKEYREDEFINE)
#define DBIERR_INVALIDRINTDESCNUM (ERRBASE_INVALIDREQ + ERRCODE_INVALIDRINTDESCNUM)
#define DBIERR_KEYFLDTYPEMISMATCH (ERRBASE_INVALIDREQ + ERRCODE_KEYFLDTYPEMISMATCH)
#define DBIERR_INVALIDMODIFYREQUEST (ERRBASE_INVALIDREQ + ERRCODE_INVALIDMODIFYREQUEST)
#define DBIERR_NOSUCHINDEX (ERRBASE_INVALIDREQ + ERRCODE_NOSUCHINDEX)
#define DBIERR_INVALIDBLOBOFFSET (ERRBASE_INVALIDREQ + ERRCODE_INVALIDBLOBOFFSET)
#define DBIERR_INVALIDDESCNUM (ERRBASE_INVALIDREQ + ERRCODE_INVALIDDESCNUM)
#define DBIERR_INVALIDFLDTYPE (ERRBASE_INVALIDREQ + ERRCODE_INVALIDFLDTYPE)
#define DBIERR_INVALIDFLDDESC (ERRBASE_INVALIDREQ + ERRCODE_INVALIDFLDDESC)
#define DBIERR_INVALIDFLDXFORM (ERRBASE_INVALIDREQ + ERRCODE_INVALIDFLDXFORM)
#define DBIERR_INVALIDRECSTRUCT (ERRBASE_INVALIDREQ + ERRCODE_INVALIDRECSTRUCT)
#define DBIERR_INVALIDDESC (ERRBASE_INVALIDREQ + ERRCODE_INVALIDDESC)
#define DBIERR_INVALIDINDEXSTRUCT (ERRBASE_INVALIDREQ + ERRCODE_INVALIDINDEXSTRUCT)
#define DBIERR_INVALIDVCHKSTRUCT (ERRBASE_INVALIDREQ + ERRCODE_INVALIDVCHKSTRUCT)
#define DBIERR_INVALIDRINTSTRUCT (ERRBASE_INVALIDREQ + ERRCODE_INVALIDRINTSTRUCT)
#define DBIERR_INVALIDRESTRTBLORDER (ERRBASE_INVALIDREQ + ERRCODE_INVALIDRESTRTBLORDER)
#define DBIERR_NAMENOTUNIQUE (ERRBASE_INVALIDREQ + ERRCODE_NAMENOTUNIQUE)
#define DBIERR_INDEXNAMEREQUIRED (ERRBASE_INVALIDREQ + ERRCODE_INDEXNAMEREQUIRED)
#define DBIERR_INVALIDSESHANDLE (ERRBASE_INVALIDREQ + ERRCODE_INVALIDSESHANDLE)
#define DBIERR_INVALIDRESTROP (ERRBASE_INVALIDREQ + ERRCODE_INVALIDRESTROP)
#define DBIERR_UNKNOWNDRIVER (ERRBASE_INVALIDREQ + ERRCODE_UNKNOWNDRIVER)
#define DBIERR_UNKNOWNDB (ERRBASE_INVALIDREQ + ERRCODE_UNKNOWNDB)
#define DBIERR_INVALIDPASSWORD (ERRBASE_INVALIDREQ + ERRCODE_INVALIDPASSWORD)
#define DBIERR_NOCALLBACK (ERRBASE_INVALIDREQ + ERRCODE_NOCALLBACK)
#define DBIERR_INVALIDCALLBACKBUFLEN \
(ERRBASE_INVALIDREQ + ERRCODE_INVALIDCALLBACKBUFLEN )
#define DBIERR_INVALIDDIR (ERRBASE_INVALIDREQ + ERRCODE_INVALIDDIR)
#define DBIERR_INVALIDXLATION (ERRBASE_INVALIDREQ + ERRCODE_INVALIDXLATION)
#define DBIERR_DIFFERENTTABLES (ERRBASE_INVALIDREQ + ERRCODE_DIFFERENTTABLES)
#define DBIERR_INVALIDBOOKMARK (ERRBASE_INVALIDREQ + ERRCODE_INVALIDBOOKMARK)
#define DBIERR_INVALIDINDEXNAME (ERRBASE_INVALIDREQ + ERRCODE_INVALIDINDEXNAME)
#define DBIERR_INVALIDIDXDESC (ERRBASE_INVALIDREQ + ERRCODE_INVALIDIDXDESC)
#define DBIERR_NOSUCHTABLE (ERRBASE_INVALIDREQ + ERRCODE_NOSUCHTABLE)
#define DBIERR_USECOUNT (ERRBASE_INVALIDREQ + ERRCODE_USECOUNT)
#define DBIERR_INVALIDKEY (ERRBASE_INVALIDREQ + ERRCODE_INVALIDKEY)
#define DBIERR_INDEXEXISTS (ERRBASE_INVALIDREQ + ERRCODE_INDEXEXISTS)
#define DBIERR_INDEXOPEN (ERRBASE_INVALIDREQ + ERRCODE_INDEXOPEN)
#define DBIERR_INVALIDBLOBLEN (ERRBASE_INVALIDREQ + ERRCODE_INVALIDBLOBLEN)
#define DBIERR_INVALIDBLOBHANDLE (ERRBASE_INVALIDREQ + ERRCODE_INVALIDBLOBHANDLE)
#define DBIERR_TABLEOPEN (ERRBASE_INVALIDREQ + ERRCODE_TABLEOPEN)
#define DBIERR_NEEDRESTRUCTURE (ERRBASE_INVALIDREQ + ERRCODE_NEEDRESTRUCTURE)
#define DBIERR_INVALIDMODE (ERRBASE_INVALIDREQ + ERRCODE_INVALIDMODE)
#define DBIERR_CANNOTCLOSE (ERRBASE_INVALIDREQ + ERRCODE_CANNOTCLOSE)
#define DBIERR_ACTIVEINDEX (ERRBASE_INVALIDREQ + ERRCODE_ACTIVEINDEX)
#define DBIERR_INVALIDUSRPASS (ERRBASE_INVALIDREQ + ERRCODE_INVALIDUSRPASS)
#define DBIERR_MULTILEVELCASCADE (ERRBASE_INVALIDREQ + ERRCODE_MULTILEVELCASCADE)
#define DBIERR_INVALIDFIELDNAME (ERRBASE_INVALIDREQ + ERRCODE_INVALIDFIELDNAME)
#define DBIERR_INVALIDTABLENAME (ERRBASE_INVALIDREQ + ERRCODE_INVALIDTABLENAME)
#define DBIERR_INVALIDLINKEXPR (ERRBASE_INVALIDREQ + ERRCODE_INVALIDLINKEXPR)
#define DBIERR_NAMERESERVED (ERRBASE_INVALIDREQ + ERRCODE_NAMERESERVED)
#define DBIERR_INVALIDFILEEXTN (ERRBASE_INVALIDREQ + ERRCODE_INVALIDFILEEXTN)
#define DBIERR_INVALIDLANGDRV (ERRBASE_INVALIDREQ + ERRCODE_INVALIDLANGDRV)
#define DBIERR_ALIASNOTOPEN (ERRBASE_INVALIDREQ + ERRCODE_ALIASNOTOPEN)
#define DBIERR_INCOMPATRECSTRUCTS (ERRBASE_INVALIDREQ + ERRCODE_INCOMPATRECSTRUCTS)
#define DBIERR_RESERVEDOSNAME (ERRBASE_INVALIDREQ + ERRCODE_RESERVEDDOSNAME)
#define DBIERR_DESTMUSTBEINDEXED (ERRBASE_INVALIDREQ + ERRCODE_DESTMUSTBEINDEXED)
#define DBIERR_INVALIDINDEXTYPE (ERRBASE_INVALIDREQ + ERRCODE_INVALIDINDEXTYPE)
#define DBIERR_LANGDRVMISMATCH (ERRBASE_INVALIDREQ + ERRCODE_LANGDRVMISMATCH)
#define DBIERR_NOSUCHFILTER (ERRBASE_INVALIDREQ + ERRCODE_NOSUCHFILTER)
#define DBIERR_INVALIDFILTER (ERRBASE_INVALIDREQ + ERRCODE_INVALIDFILTER)
#define DBIERR_INVALIDTABLECREATE (ERRBASE_INVALIDREQ + ERRCODE_INVALIDTABLECREATE)
#define DBIERR_INVALIDTABLEDELETE (ERRBASE_INVALIDREQ + ERRCODE_INVALIDTABLEDELETE)
#define DBIERR_INVALIDINDEXCREATE (ERRBASE_INVALIDREQ + ERRCODE_INVALIDINDEXCREATE)
#define DBIERR_INVALIDINDEXDELETE (ERRBASE_INVALIDREQ + ERRCODE_INVALIDINDEXDELETE)
#define DBIERR_INVALIDTABLE (ERRBASE_INVALIDREQ + ERRCODE_INVALIDTABLE)
#define DBIERR_MULTIRESULTS (ERRBASE_INVALIDREQ + ERRCODE_MULTIRESULTS)
#define DBIERR_INVALIDTIME (ERRBASE_INVALIDREQ + ERRCODE_INVALIDTIME)
#define DBIERR_INVALIDDATE (ERRBASE_INVALIDREQ + ERRCODE_INVALIDDATE)
#define DBIERR_INVALIDTIMESTAMP (ERRBASE_INVALIDREQ + ERRCODE_INVALIDTIMESTAMP)
#define DBIERR_DIFFERENTPATH (ERRBASE_INVALIDREQ + ERRCODE_DIFFERENTPATH)
#define DBIERR_MISMATCHARGS (ERRBASE_INVALIDREQ + ERRCODE_MISMATCHARGS)
#define DBIERR_FUNCTIONNOTFOUND (ERRBASE_INVALIDREQ + ERRCODE_FUNCTIONNOTFOUND)
#define DBIERR_MUSTUSEBASEORDER (ERRBASE_INVALIDREQ + ERRCODE_MUSTUSEBASEORDER)
#define DBIERR_INVALIDPROCEDURENAME (ERRBASE_INVALIDREQ + ERRCODE_INVALIDPROCEDURENAME)
#define DBIERR_INVALIDFLDMAP (ERRBASE_INVALIDREQ + ERRCODE_INVALIDFLDMAP)

// ERRCAT_LOCKCONFLICT
// ===================

#define ERRCODE_LOCKED 1
#define ERRCODE_UNLOCKFAILED 2
#define ERRCODE_FILEBUSY 3
#define ERRCODE_DIRBUSY 4
#define ERRCODE_FILELOCKED 5
#define ERRCODE_DIRLOCKED 6
#define ERRCODE_ALREADYLOCKED 7
#define ERRCODE_NOTLOCKED 8
#define ERRCODE_LOCKTIMEOUT 9
#define ERRCODE_GROUPLOCKED 10 // 0x0a
#define ERRCODE_LOSTTBLLOCK 11 // 0x0b
#define ERRCODE_LOSTEXCLACCESS 12 // 0x0c
#define ERRCODE_NEEDEXCLACCESS 13 // 0x0d
#define ERRCODE_RECGROUPCONFLICT 14 // 0x0e
#define ERRCODE_DEADLOCK 15
#define ERRCODE_ACTIVETRAN 16
#define ERRCODE_NOACTIVETRAN 17
#define ERRCODE_RECLOCKFAILED 18
#define ERRCODE_OPTRECLOCKFAILED 19
#define ERRCODE_OPTRECLOCKRECDEL 20
#define ERRCODE_LOCKEDRECS 21
#define ERRCODE_NEEDWRITELOCK 22

#define DBIERR_LOCKED (ERRBASE_LOCKCONFLICT + ERRCODE_LOCKED)
#define DBIERR_UNLOCKFAILED (ERRBASE_LOCKCONFLICT + ERRCODE_UNLOCKFAILED)
#define DBIERR_FILEBUSY (ERRBASE_LOCKCONFLICT + ERRCODE_FILEBUSY)
#define DBIERR_DIRBUSY (ERRBASE_LOCKCONFLICT + ERRCODE_DIRBUSY)
#define DBIERR_FILELOCKED (ERRBASE_LOCKCONFLICT + ERRCODE_FILELOCKED)
#define DBIERR_DIRLOCKED (ERRBASE_LOCKCONFLICT + ERRCODE_DIRLOCKED)
#define DBIERR_ALREADYLOCKED (ERRBASE_LOCKCONFLICT + ERRCODE_ALREADYLOCKED)
#define DBIERR_NOTLOCKED (ERRBASE_LOCKCONFLICT + ERRCODE_NOTLOCKED)
#define DBIERR_LOCKTIMEOUT (ERRBASE_LOCKCONFLICT + ERRCODE_LOCKTIMEOUT)
#define DBIERR_GROUPLOCKED (ERRBASE_LOCKCONFLICT + ERRCODE_GROUPLOCKED)
#define DBIERR_LOSTTBLLOCK (ERRBASE_LOCKCONFLICT + ERRCODE_LOSTTBLLOCK)
#define DBIERR_LOSTEXCLACCESS (ERRBASE_LOCKCONFLICT + ERRCODE_LOSTEXCLACCESS)
#define DBIERR_NEEDEXCLACCESS (ERRBASE_LOCKCONFLICT + ERRCODE_NEEDEXCLACCESS)
#define DBIERR_RECGROUPCONFLICT (ERRBASE_LOCKCONFLICT + ERRCODE_RECGROUPCONFLICT)
#define DBIERR_DEADLOCK (ERRBASE_LOCKCONFLICT + ERRCODE_DEADLOCK)
#define DBIERR_ACTIVETRAN (ERRBASE_LOCKCONFLICT + ERRCODE_ACTIVETRAN)
#define DBIERR_NOACTIVETRAN (ERRBASE_LOCKCONFLICT + ERRCODE_NOACTIVETRAN)
#define DBIERR_RECLOCKFAILED (ERRBASE_LOCKCONFLICT + ERRCODE_RECLOCKFAILED)
#define DBIERR_OPTRECLOCKFAILED (ERRBASE_LOCKCONFLICT + ERRCODE_OPTRECLOCKFAILED)
#define DBIERR_OPTRECLOCKRECDEL (ERRBASE_LOCKCONFLICT + ERRCODE_OPTRECLOCKRECDEL)

// ERRCAT_SECURITY
// ===============

#define ERRCODE_NOTSUFFFIELDRIGHTS 1 // Not sufficient field rights for operation
#define ERRCODE_NOTSUFFTABLERIGHTS 2 // Not sufficient table rights for operation
#define ERRCODE_NOTSUFFFAMILYRIGHTS 3 // Not sufficient family rights for operation
#define ERRCODE_READONLYDIR 4 // Is a read-only directory
#define ERRCODE_READONLYDB 5 // Database is read-only
#define ERRCODE_READONLYFLD 6 // Trying to modify read-only field
#define ERRCODE_TBLENCRYPTED 7 // Table is encrypted (dBASE only)
#define ERRCODE_NOTSUFFSQLRIGHTS 8 // Not sufficient sql rights for operation


#define DBIERR_NOTSUFFFIELDRIGHTS (ERRBASE_SEC + ERRCODE_NOTSUFFFIELDRIGHTS)
#define DBIERR_NOTSUFFTABLERIGHTS (ERRBASE_SEC + ERRCODE_NOTSUFFTABLERIGHTS)
#define DBIERR_NOTSUFFFAMILYRIGHTS (ERRBASE_SEC + ERRCODE_NOTSUFFFAMILYRIGHTS)
#define DBIERR_READONLYDIR (ERRBASE_SEC + ERRCODE_READONLYDIR)
#define DBIERR_READONLYDB (ERRBASE_SEC + ERRCODE_READONLYDB)
#define DBIERR_READONLYFLD (ERRBASE_SEC + ERRCODE_READONLYFLD)
#define DBIERR_TBLENCRYPTED (ERRBASE_SEC + ERRCODE_TBLENCRYPTED)
#define DBIERR_NOTSUFFSQLRIGHTS (ERRBASE_SEC + ERRCODE_NOTSUFFSQLRIGHTS)


// ERRCAT_INVALIDCONTEXT
// =====================

#define ERRCODE_NOTABLOB 1 // Field is not a blob
#define ERRCODE_BLOBOPENED 2 // Blob already opened
#define ERRCODE_BLOBNOTOPENED 3 // Blob not opened
#define ERRCODE_NA 4 // Operation not applicable
#define ERRCODE_NOTINDEXED 5 // Table is not indexed
#define ERRCODE_NOTINITIALIZED 6 // Engine not initialized
#define ERRCODE_MULTIPLEINIT 7 // Attempt to re-initialize engine
#define ERRCODE_NOTSAMESESSION 8 // Attempt to mix objs from diff ses
#define ERRCODE_PDXDRIVERNOTACTIVE 9 // Paradox driver not active
#define ERRCODE_DRIVERNOTLOADED 10 // 0x0a Driver not loaded
#define ERRCODE_TABLEREADONLY 11 // 0x0b Table is read only
#define ERRCODE_NOASSOCINDEX 12 // 0x0c No index associated with the cursor
#define ERRCODE_HASOPENCURSORS 13 // 0x0d Has open cursors
#define ERRCODE_NOTABLESUPPORT 14 // 0x0e Op cannot be done on this table
#define ERRCODE_INDEXREADONLY 15 // 0x0f Index is read only
#define ERRCODE_NOUNIQUERECS 16 // 0x10 Records are not unique
#define ERRCODE_NOTCURSESSION 17 // 0x11 Not the current/active session
#define ERRCODE_INVALIDKEYWORD 18 // 0x12 Invalid use of keyword.
#define ERRCODE_CONNECTINUSE 19 // 0x13 Connection in use
#define ERRCODE_CONNECTNOTSHARED 20 // 0x14 Passthru SQL connection not share


#define DBIERR_NOTABLOB (ERRBASE_IC + ERRCODE_NOTABLOB)
#define DBIERR_BLOBOPENED (ERRBASE_IC + ERRCODE_BLOBOPENED)
#define DBIERR_BLOBNOTOPENED (ERRBASE_IC + ERRCODE_BLOBNOTOPENED)
#define DBIERR_NA (ERRBASE_IC + ERRCODE_NA)
#define DBIERR_NOTINDEXED (ERRBASE_IC + ERRCODE_NOTINDEXED)
#define DBIERR_NOTINITIALIZED (ERRBASE_IC + ERRCODE_NOTINITIALIZED)
#define DBIERR_MULTIPLEINIT (ERRBASE_IC + ERRCODE_MULTIPLEINIT)
#define DBIERR_NOTSAMESESSION (ERRBASE_IC + ERRCODE_NOTSAMESESSION)
#define DBIERR_PDXDRIVERNOTACTIVE (ERRBASE_IC + ERRCODE_PDXDRIVERNOTACTIVE)
#define DBIERR_DRIVERNOTLOADED (ERRBASE_IC + ERRCODE_DRIVERNOTLOADED)
#define DBIERR_TABLEREADONLY (ERRBASE_IC + ERRCODE_TABLEREADONLY)
#define DBIERR_NOASSOCINDEX (ERRBASE_IC + ERRCODE_NOASSOCINDEX)
#define DBIERR_HASOPENCURSORS (ERRBASE_IC + ERRCODE_HASOPENCURSORS)
#define DBIERR_NOTABLESUPPORT (ERRBASE_IC + ERRCODE_NOTABLESUPPORT)
#define DBIERR_INDEXREADONLY (ERRBASE_IC + ERRCODE_INDEXREADONLY)
#define DBIERR_NOUNIQUERECS (ERRBASE_IC + ERRCODE_NOUNIQUERECS)
#define DBIERR_NOTCURSESSION (ERRBASE_IC + ERRCODE_NOTCURSESSION)
#define DBIERR_INVALIDKEYWORD (ERRBASE_IC + ERRCODE_INVALIDKEYWORD)
#define DBIERR_CONNECTINUSE (ERRBASE_IC + ERRCODE_CONNECTINUSE)
#define DBIERR_CONNECTNOTSHARED (ERRBASE_IC + ERRCODE_CONNECTNOTSHARED)


// ERRCAT_OS
// =========
// DOS extended errors:

#define ERRCODE_OSEINVFNC 1 // Invalid function number
#define ERRCODE_OSENOENT 2 // No such file or directory
#define ERRCODE_OSENOPATH 3 // Path not found
#define ERRCODE_OSEMFILE 4 // Too many open files
#define ERRCODE_OSEACCES 5 // Permission denied
#define ERRCODE_OSEBADF 6 // Bad file number
#define ERRCODE_OSECONTR 7 // Memory blocks destroyed
#define ERRCODE_OSENOMEM 8 // Not enough core
#define ERRCODE_OSEINVMEM 9 // Invalid memory block address
#define ERRCODE_OSEINVENV 10 // 0x0a Invalid environment
#define ERRCODE_OSEINVFMT 11 // 0x0b Invalid format
#define ERRCODE_OSEINVACC 12 // 0x0c Invalid access code
#define ERRCODE_OSEINVDAT 13 // 0x0d Invalid data
#define ERRCODE_OSENODEV 15 // 0x0f No such device
#define ERRCODE_OSECURDIR 16 // 0x10 Attempt to remove curdir
#define ERRCODE_OSENOTSAM 17 // 0x11 Not same device
#define ERRCODE_OSENMFILE 18 // 0x12 No more files
#define ERRCODE_OSEINVAL 19 // 0x13 Invalid argument
#define ERRCODE_OSE2BIG 20 // 0x14 Arg list too long
#define ERRCODE_OSENOEXEC 21 // 0x15 Exec format error
#define ERRCODE_OSEXDEV 22 // 0x16 Cross-device link
#define ERRCODE_OSEDOM 33 // 0x21 Math argument
#define ERRCODE_OSERANGE 34 // 0x22 Result to large
#define ERRCODE_OSEEXIST 35 // 0x23 File already exists
#define ERRCODE_OSUNKNOWN 39 // 0x27 Unkown | illegal error from rtl

#define ERRCODE_OSSHAREVIOL 50 // 0x32 Share viol, ext. err 0x20
#define ERRCODE_OSLOCKVIOL 51 // 0x33 Lock viol, ext. err 0x21
#define ERRCODE_OSINT24FAIL 52 // 0x34 INT24 called
#define ERRCODE_OSDRIVENOTREADY 53 // 0x35 Drive not ready



// OTHER Os errors:
// 1. idapi errors
// 2. errors from non-dos systems ( i.e. NOVELL )

#define ERRCODE_NOTEXACT 100 // 0x64 Not exact read/write
#define ERRCODE_OSNETERR 101 // 0x65 Generic network error
#define ERRCODE_OSUNKNOWNSRVERR 102 // 0x66 Error from file server
#define ERRCODE_SERVERNOMEMORY 103 // 0x67 Server out of memory
#define ERRCODE_OSALREADYLOCKED 104 // 0x68 Record already locked (by you)
#define ERRCODE_OSNOTLOCKED 105 // 0x69 Record not locked
#define ERRCODE_NOSERVERSW 106 // 0x6a Server software not running the workstation/server



#define DBIERR_OSEINVFNC ( ERRBASE_OS + ERRCODE_OSEINVFNC )
#define DBIERR_OSENOENT ( ERRBASE_OS + ERRCODE_OSENOENT )
#define DBIERR_OSENOPATH ( ERRBASE_OS + ERRCODE_OSENOPATH )
#define DBIERR_OSEMFILE ( ERRBASE_OS + ERRCODE_OSEMFILE )
#define DBIERR_OSEACCES ( ERRBASE_OS + ERRCODE_OSEACCES )
#define DBIERR_OSEBADF ( ERRBASE_OS + ERRCODE_OSEBADF )
#define DBIERR_OSECONTR ( ERRBASE_OS + ERRCODE_OSECONTR )
#define DBIERR_OSENOMEM ( ERRBASE_OS + ERRCODE_OSENOMEM )
#define DBIERR_OSEINVMEM ( ERRBASE_OS + ERRCODE_OSEINVMEM )
#define DBIERR_OSEINVENV ( ERRBASE_OS + ERRCODE_OSEINVENV )
#define DBIERR_OSEINVFMT ( ERRBASE_OS + ERRCODE_OSEINVFMT )
#define DBIERR_OSEINVACC ( ERRBASE_OS + ERRCODE_OSEINVACC )
#define DBIERR_OSEINVDAT ( ERRBASE_OS + ERRCODE_OSEINVDAT )
#define DBIERR_OSENODEV ( ERRBASE_OS + ERRCODE_OSENODEV )
#define DBIERR_OSECURDIR ( ERRBASE_OS + ERRCODE_OSECURDIR )
#define DBIERR_OSENOTSAM ( ERRBASE_OS + ERRCODE_OSENOTSAM )
#define DBIERR_OSENMFILE ( ERRBASE_OS + ERRCODE_OSENMFILE )
#define DBIERR_OSEINVAL ( ERRBASE_OS + ERRCODE_OSEINVAL )
#define DBIERR_OSE2BIG ( ERRBASE_OS + ERRCODE_OSE2BIG )
#define DBIERR_OSENOEXEC ( ERRBASE_OS + ERRCODE_OSENOEXEC )
#define DBIERR_OSEXDEV ( ERRBASE_OS + ERRCODE_OSEXDEV )
#define DBIERR_OSEDOM ( ERRBASE_OS + ERRCODE_OSEDOM )
#define DBIERR_OSERANGE ( ERRBASE_OS + ERRCODE_OSERANGE )
#define DBIERR_OSEEXIST ( ERRBASE_OS + ERRCODE_OSEEXIST )
#define DBIERR_OSUNKNOWN ( ERRBASE_OS + ERRCODE_OSUNKNOWN )
#define DBIERR_OSSHAREVIOL ( ERRBASE_OS + ERRCODE_OSSHAREVIOL )
#define DBIERR_OSLOCKVIOL ( ERRBASE_OS + ERRCODE_OSLOCKVIOL )
#define DBIERR_OSNETERR ( ERRBASE_OS + ERRCODE_OSNETERR )
#define DBIERR_OSINT24FAIL ( ERRBASE_OS + ERRCODE_OSINT24FAIL )
#define DBIERR_OSDRIVENOTREADY ( ERRBASE_OS + ERRCODE_OSDRIVENOTREADY )


#define DBIERR_NOTEXACT ( ERRBASE_OS + ERRCODE_NOTEXACT )
#define DBIERR_OSUNKNOWNSRVERR ( ERRBASE_OS + ERRCODE_OSUNKNOWNSRVERR )
#define DBIERR_SERVERNOMEMORY ( ERRBASE_OS + ERRCODE_SERVERNOMEMORY )
#define DBIERR_OSALREADYLOCKED ( ERRBASE_OS + ERRCODE_OSALREADYLOCKED )
#define DBIERR_OSNOTLOCKED ( ERRBASE_OS + ERRCODE_OSNOTLOCKED )
#define DBIERR_NOSERVERSW ( ERRBASE_OS + ERRCODE_NOSERVERSW)

// ERRCAT_NETWORK
// ==============

#define ERRCODE_NETINITERR 1 // Net init failed
#define ERRCODE_NETUSERLIMIT 2 // Net user limit exceeded
#define ERRCODE_NETFILEVERSION 3 // Wrong net file version
#define ERRCODE_NETFILELOCKED 4 // Not able to lock net file
#define ERRCODE_DIRNOTPRIVATE 5 //
#define ERRCODE_NETMULTIPLE 6 // Multiple net files in use
#define ERRCODE_NETUNKNOWN 7 // Unknown net error
#define ERRCODE_SHAREDFILE 8 // Cannot access a shared file
#define ERRCODE_SHARENOTLOADED 9 // Share not loaded
#define ERRCODE_NOTONANETWORK 10 // 0x0a Not an Network
#define ERRCODE_SQLCOMMLOST 11 // 0x0b Lost Communication with SQL server
#define ERRCODE_SERVERCOMMLOST 12 // 0x0c Lost Communication with IDAPI server
#define ERRCODE_SQLSERVERNOTFOUND 13 // 0x0d SQL Server not found
#define ERRCODE_SERVERNOTFOUND 14 // 0x0e SQL Server not found

#define DBIERR_NETINITERR (ERRBASE_NETWORK + ERRCODE_NETINITERR)
#define DBIERR_NETUSERLIMIT (ERRBASE_NETWORK + ERRCODE_NETUSERLIMIT)
#define DBIERR_NETFILEVERSION (ERRBASE_NETWORK + ERRCODE_NETFILEVERSION)
#define DBIERR_NETFILELOCKED (ERRBASE_NETWORK + ERRCODE_NETFILELOCKED)
#define DBIERR_DIRNOTPRIVATE (ERRBASE_NETWORK + ERRCODE_DIRNOTPRIVATE)
#define DBIERR_NETMULTIPLE (ERRBASE_NETWORK + ERRCODE_NETMULTIPLE)
#define DBIERR_NETUNKNOWN (ERRBASE_NETWORK + ERRCODE_NETUNKNOWN)
#define DBIERR_SHAREDFILE (ERRBASE_NETWORK + ERRCODE_SHAREDFILE)
#define DBIERR_SHARENOTLOADED (ERRBASE_NETWORK + ERRCODE_SHARENOTLOADED)
#define DBIERR_NOTONANETWORK (ERRBASE_NETWORK + ERRCODE_NOTONANETWORK)
#define DBIERR_SQLCOMMLOST (ERRBASE_NETWORK + ERRCODE_SQLCOMMLOST)
#define DBIERR_SERVERCOMMLOST (ERRBASE_NETWORK + ERRCODE_SERVERCOMMLOST)
#define DBIERR_SQLSERVERNOTFOUND (ERRBASE_NETWORK + ERRCODE_SQLSERVERNOTFOUND)
#define DBIERR_SERVERNOTFOUND (ERRBASE_NETWORK + ERRCODE_SERVERNOTFOUND)

// ERRCAT_DRIVER
// =============

#define ERRCODE_WRONGDRVNAME 1 // Wrong driver name
#define ERRCODE_WRONGSYSVER 2 // Wrong system version
#define ERRCODE_WRONGDRVVER 3 // Wrong driver version
#define ERRCODE_WRONGDRVTYPE 4 // Wrong driver type
#define ERRCODE_CANNOTLOADDRV 5 // Can not load driver
#define ERRCODE_CANNOTLOADLDDRV 6 // Can not load language driver
#define ERRCODE_VENDINITFAIL 7 // Vendor init failure


#define DBIERR_WRONGDRVNAME (ERRBASE_DRIVER + ERRCODE_WRONGDRVNAME)
#define DBIERR_WRONGSYSVER (ERRBASE_DRIVER + ERRCODE_WRONGSYSVER)
#define DBIERR_WRONGDRVVER (ERRBASE_DRIVER + ERRCODE_WRONGDRVVER)
#define DBIERR_WRONGDRVTYPE (ERRBASE_DRIVER + ERRCODE_WRONGDRVTYPE)
#define DBIERR_CANNOTLOADDRV (ERRBASE_DRIVER + ERRCODE_CANNOTLOADDRV)
#define DBIERR_CANNOTLOADLDDRV (ERRBASE_DRIVER + ERRCODE_CANNOTLOADLDDRV)
#define DBIERR_VENDINITFAIL (ERRBASE_DRIVER + ERRCODE_VENDINITFAIL)


// ERRCAT_QUERY
// ============



#define DBICODE_AMBJOASY 1 // obsolete
#define DBICODE_AMBJOSYM 2 // obsolete
#define DBICODE_AMBOUTEX 3
#define DBICODE_AMBOUTPR 4 // obsolete
#define DBICODE_AMBSYMAS 5 // obsolete
#define DBICODE_ASETOPER 6
#define DBICODE_AVENUMDA 7
#define DBICODE_BADEXPR1 8
#define DBICODE_BADFLDOR 9
#define DBICODE_BADVNAME 10 // 0x0a
#define DBICODE_BITMAPER 11 // 0x0b
#define DBICODE_CALCBADR 12 // 0x0c
#define DBICODE_CALCTYPE 13 // 0x0d
#define DBICODE_CHGTO1TI 14 // 0x0e
#define DBICODE_CHGTOCHG 15 // 0x0f
#define DBICODE_CHGTOEXP 16 // 0x10
#define DBICODE_CHGTOINS 17 // 0x11
#define DBICODE_CHGTONEW 18 // 0x12
#define DBICODE_CHGTOVAL 19 // 0x13
#define DBICODE_CHKMRKFI 20 // 0x14
#define DBICODE_CHNAMBIG 21 // 0x15
#define DBICODE_CHUNKERR 22 // 0x16
#define DBICODE_COLUM255 23 // 0x17
#define DBICODE_CONAFTAS 24 // 0x18
#define DBICODE_DEL1TIME 25 // 0x19
#define DBICODE_DELAMBIG 26 // 0x1a
#define DBICODE_DELFRDEL 27 // 0x1b
#define DBICODE_EGFLDTYP 28 // 0x1c
#define DBICODE_EXAMINOR 29 // 0x1d
#define DBICODE_EXPRTYPS 30 // 0x1e
#define DBICODE_EXTRACOM 31 // 0x1f
#define DBICODE_EXTRAORO 32 // 0x20
#define DBICODE_EXTRAQRO 33 // 0x21
#define DBICODE_FIND1ATT 34 // 0x22
#define DBICODE_FINDANST 35 // 0x23
#define DBICODE_GRPNOSET 36 // 0x24
#define DBICODE_GRPSTROW 37 // 0x25
#define DBICODE_IDFINLCO 38 // 0x26
#define DBICODE_IDFPERLI 39 // 0x27
#define DBICODE_INANEXPR 40 // 0x28
#define DBICODE_INS1TIME 41 // 0x29
#define DBICODE_INSAMBIG 42 // 0x2a
#define DBICODE_INSDELCH 43 // 0x2b
#define DBICODE_INSEXPRR 44 // 0x2c
#define DBICODE_INSTOINS 45 // 0x2d
#define DBICODE_ISARRAY 46 // 0x2e
#define DBICODE_LABELERR 47 // 0x2f
#define DBICODE_LINKCALC 48 // 0x30
#define DBICODE_LNGVNAME 49 // 0x31
#define DBICODE_LONGQURY 50 // 0x32
#define DBICODE_MEMVPROC 51 // 0x33
#define DBICODE_MISNGCOM 52 // 0x34
#define DBICODE_MISNGRPA 53 // 0x35
#define DBICODE_MISSRTQU 54 // 0x36
#define DBICODE_NAMTWICE 55 // 0x37
#define DBICODE_NOCHKMAR 56 // 0x38
#define DBICODE_NODEFOCC 57 // 0x39
#define DBICODE_NOGROUPS 58 // 0x3a
#define DBICODE_NONSENSE 59 // 0x3b
#define DBICODE_NOPATTER 60 // 0x3c
#define DBICODE_NOSUCHDA 61 // 0x3d
#define DBICODE_NOVALUE 62 // 0x3e
#define DBICODE_ONLYCONS 63 // 0x3f
#define DBICODE_ONLYSETR 64 // 0x40
#define DBICODE_OUTSENS1 65 // 0x41
#define DBICODE_OUTTWIC1 66 // 0x42
#define DBICODE_PAROWCNT 67 // 0x43
#define DBICODE_PERSEPAR 68 // 0x44
#define DBICODE_PROCPLSW 69 // 0x45
#define DBICODE_PWINSRTS 70 // 0x46
#define DBICODE_PWMODRTS 71 // 0x47
#define DBICODE_QBEFLDFOUND 72 // 0x48
#define DBICODE_QBENOFENCE 73 // 0x49
#define DBICODE_QBENOFENCET 74 // 0x4a
#define DBICODE_QBENOHEADERT 75 // 0x4b
#define DBICODE_QBENOTAB 76 // 0x4c
#define DBICODE_QBENUMCOLS 77 // 0x4d
#define DBICODE_QBEOPENTAB 78 // 0x4e
#define DBICODE_QBETWICE 79 // 0x4f
#define DBICODE_QRYNOANSWER 80 // 0x50
#define DBICODE_QRYNOTPREP 81 // 0x51
#define DBICODE_QUAINDEL 82 // 0x52
#define DBICODE_QUAININS 83 // 0x53
#define DBICODE_RAGININS 84 // 0x54
#define DBICODE_RAGINSET 85 // 0x55
#define DBICODE_ROWUSERR 86 // 0x56
#define DBICODE_SETEXPEC 87 // 0x57
#define DBICODE_SETVAMB1 88 // 0x58
#define DBICODE_SETVBAD1 89 // 0x59
#define DBICODE_SETVDEF1 90 // 0x5a
#define DBICODE_SUMNUMBE 91 // 0x5b
#define DBICODE_TBLISWP3 92 // 0x5c
#define DBICODE_TOKENNOT 93 // 0x5d
#define DBICODE_TWOOUTR1 94 // 0x5e
#define DBICODE_TYPEMISM 95 // 0x5f
#define DBICODE_UNRELQ1 96 // 0x60
#define DBICODE_UNUSEDST 97 // 0x61
#define DBICODE_USEINSDE 98 // 0x62
#define DBICODE_USEOFCHG 99 // 0x63
#define DBICODE_VARMUSTF 100 // 0x64
#define DBICODE_REGISTER 101 // 0x65
#define DBICODE_LONGEXPR 102 // 0x66
#define DBICODE_REFRESH 103 // 0x67
#define DBICODE_CANCEXCEPT 104 // 0x68
#define DBICODE_DBEXCEPT 105 // 0x69
#define DBICODE_MEMEXCEPT 106 // 0x6a
#define DBICODE_FATALEXCEPT 107 // 0x6b
#define DBICODE_QRYNIY 108 // 0x6c
#define DBICODE_BADFORMAT 109 // 0x6d
#define DBICODE_QRYEMPTY 110 // 0x6e
#define DBICODE_NOQRYTOPREP 111 // 0x6f
#define DBICODE_BUFFTOOSMALL 112 // 0x70
#define DBICODE_QRYNOTPARSE 113 // 0x71
#define DBICODE_NOTHANDLE 114 // 0x72
#define DBICODE_QRYSYNTERR 115 // 0x73
#define DBICODE_QXFLDCOUNT 116 // 0x74
#define DBICODE_QXFLDSYMNOTFOUND 117 // 0x75
#define DBICODE_QXTBLSYMNOTFOUND 118 // 0x76
#define DBICODE_BLOBTERM 119 // 0x77
#define DBICODE_BLOBERR 120 // 0x78
#define DBICODE_RESTARTQRY 121 // 0x79
#define DBICODE_UNKNOWNANSTYPE 122 // 0x7a

// Internal QBE use Only.
#define DBICODE_SQLG_MDIST 123 // 0x7b
#define DBICODE_SQLG_NOARI 124 // 0x7c
#define DBICODE_SQLG_LIKEN 125 // 0x7d
#define DBICODE_SQLG_ALPHO 126 // 0x7e
#define DBICODE_SQLG_DATEO 127 // 0x7f
#define DBICODE_SQLG_RELOP 128 // 0x80
#define DBICODE_SQLG_ONLYC 129 // 0x81
#define DBICODE_SQLG_CNTLN 130 // 0x82
#define DBICODE_SQLG_CHINI 131 // 0x83
#define DBICODE_SQLG_UNION 132 // 0x84
#define DBICODE_SQLG_SLFIN 133 // 0x85
#define DBICODE_SQLG_OTJVR 134 // 0x86
#define DBICODE_SQLG_STROW 135 // 0x87
#define DBICODE_SQLG_QUANT 136 // 0x88
#define DBICODE_SQLG_REGSO 137 // 0x89
#define DBICODE_SQLG_COUNT 138 // 0x8a
#define DBICODE_SQLG_AVERA 139 // 0x8b
#define DBICODE_SQLG_DATEA 140 // 0x8c
#define DBICODE_SQLG_BADPT 141 // 0x8d
#define DBICODE_SQLG_RELPA 142 // 0x8e
#define DBICODE_SQLG_PATRN 143 // 0x8f
#define DBICODE_SQLG_FNDSU 144 // 0x90
#define DBICODE_SQLG_IFDCS 145 // 0x91
#define DBICODE_SQLG_IDCCO 146 // 0x92
#define DBICODE_SQLG_ONLYI 147 // 0x93
#define DBICODE_SQLG_SQLDIALECT 148 // 0x94
#define DBICODE_SQLG_NOQUERY 149 // 0x95
// End of Internal.

#define DBICODE_BLOBGROUP 150 // 0x96
#define DBICODE_QRYNOPROP 151 // 0x97
#define DBICODE_ANSTYPNOTSUP 152 // 0x98
#define DBICODE_ANSALIASNOTSUP 153 // 0x99
#define DBICODE_INSBLOBREQ 154 // 0x9a
#define DBICODE_CHGUNIQUENDXREQ 155 // 0x9b
#define DBICODE_DELUNIQUENDXREQ 156 // 0x9c
#define DBICODE_SQLNOFULLUPDATE 157 // 0x9d
#define DBICODE_CANTEXECREMOTE 158 // 0x9e
#define DBICODE_UNEXPECTEDEOC 159 // 0x9f
#define DBICODE_SQLPARAMNOTSET 160 // 0xA0
#define DBICODE_QUERYTOOLONG 161 // 0xA1


#define DBICODE_NOSUCHRELORALIAS 170
#define DBICODE_TYPEAMBIGUITY 171
#define DBICODE_ORDERBYNOTAPROJ 172
#define DBICODE_SQLPARSE 173
#define DBICODE_CONSTRAINTFAILED 174
#define DBICODE_NOTGROUPINGFIELD 175
#define DBICODE_UDFNOTDEFINED 176
#define DBICODE_UDFERROR 177
#define DBICODE_SINGLEROWERROR 178



#define DBIERR_AMBJOASY (ERRBASE_QUERY+DBICODE_AMBJOASY)
#define DBIERR_AMBJOSYM (ERRBASE_QUERY+DBICODE_AMBJOSYM)
#define DBIERR_AMBOUTEX (ERRBASE_QUERY+DBICODE_AMBOUTEX)
#define DBIERR_AMBOUTPR (ERRBASE_QUERY+DBICODE_AMBOUTPR)
#define DBIERR_AMBSYMAS (ERRBASE_QUERY+DBICODE_AMBSYMAS)
#define DBIERR_ASETOPER (ERRBASE_QUERY+DBICODE_ASETOPER)
#define DBIERR_AVENUMDA (ERRBASE_QUERY+DBICODE_AVENUMDA)
#define DBIERR_BADEXPR1 (ERRBASE_QUERY+DBICODE_BADEXPR1)
#define DBIERR_BADFLDOR (ERRBASE_QUERY+DBICODE_BADFLDOR)
#define DBIERR_BADVNAME (ERRBASE_QUERY+DBICODE_BADVNAME)
#define DBIERR_BITMAPER (ERRBASE_QUERY+DBICODE_BITMAPER)
#define DBIERR_CALCBADR (ERRBASE_QUERY+DBICODE_CALCBADR)
#define DBIERR_CALCTYPE (ERRBASE_QUERY+DBICODE_CALCTYPE)
#define DBIERR_CHGTO1TI (ERRBASE_QUERY+DBICODE_CHGTO1TI)
#define DBIERR_CHGTOCHG (ERRBASE_QUERY+DBICODE_CHGTOCHG)
#define DBIERR_CHGTOEXP (ERRBASE_QUERY+DBICODE_CHGTOEXP)
#define DBIERR_CHGTOINS (ERRBASE_QUERY+DBICODE_CHGTOINS)
#define DBIERR_CHGTONEW (ERRBASE_QUERY+DBICODE_CHGTONEW)
#define DBIERR_CHGTOVAL (ERRBASE_QUERY+DBICODE_CHGTOVAL)
#define DBIERR_CHKMRKFI (ERRBASE_QUERY+DBICODE_CHKMRKFI)
#define DBIERR_CHNAMBIG (ERRBASE_QUERY+DBICODE_CHNAMBIG)
#define DBIERR_CHUNKERR (ERRBASE_QUERY+DBICODE_CHUNKERR)
#define DBIERR_COLUM255 (ERRBASE_QUERY+DBICODE_COLUM255)
#define DBIERR_CONAFTAS (ERRBASE_QUERY+DBICODE_CONAFTAS)
#define DBIERR_DEL1TIME (ERRBASE_QUERY+DBICODE_DEL1TIME)
#define DBIERR_DELAMBIG (ERRBASE_QUERY+DBICODE_DELAMBIG)
#define DBIERR_DELFRDEL (ERRBASE_QUERY+DBICODE_DELFRDEL)
#define DBIERR_EGFLDTYP (ERRBASE_QUERY+DBICODE_EGFLDTYP)
#define DBIERR_EXAMINOR (ERRBASE_QUERY+DBICODE_EXAMINOR)
#define DBIERR_EXPRTYPS (ERRBASE_QUERY+DBICODE_EXPRTYPS)
#define DBIERR_EXTRACOM (ERRBASE_QUERY+DBICODE_EXTRACOM)
#define DBIERR_EXTRAORO (ERRBASE_QUERY+DBICODE_EXTRAORO)
#define DBIERR_EXTRAQRO (ERRBASE_QUERY+DBICODE_EXTRAQRO)
#define DBIERR_FIND1ATT (ERRBASE_QUERY+DBICODE_FIND1ATT)
#define DBIERR_FINDANST (ERRBASE_QUERY+DBICODE_FINDANST)
#define DBIERR_GRPNOSET (ERRBASE_QUERY+DBICODE_GRPNOSET)
#define DBIERR_GRPSTROW (ERRBASE_QUERY+DBICODE_GRPSTROW)
#define DBIERR_IDFINLCO (ERRBASE_QUERY+DBICODE_IDFINLCO)
#define DBIERR_IDFPERLI (ERRBASE_QUERY+DBICODE_IDFPERLI)
#define DBIERR_INANEXPR (ERRBASE_QUERY+DBICODE_INANEXPR)
#define DBIERR_INS1TIME (ERRBASE_QUERY+DBICODE_INS1TIME)
#define DBIERR_INSAMBIG (ERRBASE_QUERY+DBICODE_INSAMBIG)
#define DBIERR_INSDELCH (ERRBASE_QUERY+DBICODE_INSDELCH)
#define DBIERR_INSEXPRR (ERRBASE_QUERY+DBICODE_INSEXPRR)
#define DBIERR_INSTOINS (ERRBASE_QUERY+DBICODE_INSTOINS)
#define DBIERR_ISARRAY (ERRBASE_QUERY+DBICODE_ISARRAY)
#define DBIERR_LABELERR (ERRBASE_QUERY+DBICODE_LABELERR)
#define DBIERR_LINKCALC (ERRBASE_QUERY+DBICODE_LINKCALC)
#define DBIERR_LNGVNAME (ERRBASE_QUERY+DBICODE_LNGVNAME)
#define DBIERR_LONGQURY (ERRBASE_QUERY+DBICODE_LONGQURY)
#define DBIERR_MEMVPROC (ERRBASE_QUERY+DBICODE_MEMVPROC)
#define DBIERR_MISNGCOM (ERRBASE_QUERY+DBICODE_MISNGCOM)
#define DBIERR_MISNGRPA (ERRBASE_QUERY+DBICODE_MISNGRPA)
#define DBIERR_MISSRTQU (ERRBASE_QUERY+DBICODE_MISSRTQU)
#define DBIERR_NAMTWICE (ERRBASE_QUERY+DBICODE_NAMTWICE)
#define DBIERR_NOCHKMAR (ERRBASE_QUERY+DBICODE_NOCHKMAR)
#define DBIERR_NODEFOCC (ERRBASE_QUERY+DBICODE_NODEFOCC)
#define DBIERR_NOGROUPS (ERRBASE_QUERY+DBICODE_NOGROUPS)
#define DBIERR_NONSENSE (ERRBASE_QUERY+DBICODE_NONSENSE)
#define DBIERR_NOPATTER (ERRBASE_QUERY+DBICODE_NOPATTER)
#define DBIERR_NOSUCHDA (ERRBASE_QUERY+DBICODE_NOSUCHDA)
#define DBIERR_NOVALUE (ERRBASE_QUERY+DBICODE_NOVALUE)
#define DBIERR_ONLYCONS (ERRBASE_QUERY+DBICODE_ONLYCONS)
#define DBIERR_ONLYSETR (ERRBASE_QUERY+DBICODE_ONLYSETR)
#define DBIERR_OUTSENS1 (ERRBASE_QUERY+DBICODE_OUTSENS1)
#define DBIERR_OUTTWIC1 (ERRBASE_QUERY+DBICODE_OUTTWIC1)
#define DBIERR_PAROWCNT (ERRBASE_QUERY+DBICODE_PAROWCNT)
#define DBIERR_PERSEPAR (ERRBASE_QUERY+DBICODE_PERSEPAR)
#define DBIERR_PROCPLSW (ERRBASE_QUERY+DBICODE_PROCPLSW)
#define DBIERR_PWINSRTS (ERRBASE_QUERY+DBICODE_PWINSRTS)
#define DBIERR_PWMODRTS (ERRBASE_QUERY+DBICODE_PWMODRTS)
#define DBIERR_QBEFLDFOUND (ERRBASE_QUERY+DBICODE_QBEFLDFOUND)
#define DBIERR_QBENOFENCE (ERRBASE_QUERY+DBICODE_QBENOFENCE)
#define DBIERR_QBENOFENCET (ERRBASE_QUERY+DBICODE_QBENOFENCET)
#define DBIERR_QBENOHEADERT (ERRBASE_QUERY+DBICODE_QBENOHEADERT)
#define DBIERR_QBENOTAB (ERRBASE_QUERY+DBICODE_QBENOTAB)
#define DBIERR_QBENUMCOLS (ERRBASE_QUERY+DBICODE_QBENUMCOLS)
#define DBIERR_QBEOPENTAB (ERRBASE_QUERY+DBICODE_QBEOPENTAB)
#define DBIERR_QBETWICE (ERRBASE_QUERY+DBICODE_QBETWICE)
#define DBIERR_QRYNOANSWER (ERRBASE_QUERY+DBICODE_QRYNOANSWER)
#define DBIERR_QRYNOTPREP (ERRBASE_QUERY+DBICODE_QRYNOTPREP)
#define DBIERR_QUAINDEL (ERRBASE_QUERY+DBICODE_QUAINDEL)
#define DBIERR_QUAININS (ERRBASE_QUERY+DBICODE_QUAININS)
#define DBIERR_RAGININS (ERRBASE_QUERY+DBICODE_RAGININS)
#define DBIERR_RAGINSET (ERRBASE_QUERY+DBICODE_RAGINSET)
#define DBIERR_ROWUSERR (ERRBASE_QUERY+DBICODE_ROWUSERR)
#define DBIERR_SETEXPEC (ERRBASE_QUERY+DBICODE_SETEXPEC)
#define DBIERR_SETVAMB1 (ERRBASE_QUERY+DBICODE_SETVAMB1)
#define DBIERR_SETVBAD1 (ERRBASE_QUERY+DBICODE_SETVBAD1)
#define DBIERR_SETVDEF1 (ERRBASE_QUERY+DBICODE_SETVDEF1)
#define DBIERR_SUMNUMBE (ERRBASE_QUERY+DBICODE_SUMNUMBE)
#define DBIERR_TBLISWP3 (ERRBASE_QUERY+DBICODE_TBLISWP3)
#define DBIERR_TOKENNOT (ERRBASE_QUERY+DBICODE_TOKENNOT)
#define DBIERR_TWOOUTR1 (ERRBASE_QUERY+DBICODE_TWOOUTR1)
#define DBIERR_TYPEMISM (ERRBASE_QUERY+DBICODE_TYPEMISM)
#define DBIERR_UNRELQ1 (ERRBASE_QUERY+DBICODE_UNRELQ1)
#define DBIERR_UNUSEDST (ERRBASE_QUERY+DBICODE_UNUSEDST)
#define DBIERR_USEINSDE (ERRBASE_QUERY+DBICODE_USEINSDE)
#define DBIERR_USEOFCHG (ERRBASE_QUERY+DBICODE_USEOFCHG)
#define DBIERR_VARMUSTF (ERRBASE_QUERY+DBICODE_VARMUSTF)
#define DBIERR_REGISTER (ERRBASE_QUERY+DBICODE_REGISTER)
#define DBIERR_LONGEXPR (ERRBASE_QUERY+DBICODE_LONGEXPR)
#define DBIERR_REFRESH (ERRBASE_QUERY+DBICODE_REFRESH)
#define DBIERR_CANCEXCEPT (ERRBASE_QUERY+DBICODE_CANCEXCEPT)
#define DBIERR_DBEXCEPT (ERRBASE_QUERY+DBICODE_DBEXCEPT)
#define DBIERR_MEMEXCEPT (ERRBASE_QUERY+DBICODE_MEMEXCEPT)
#define DBIERR_FATALEXCEPT (ERRBASE_QUERY+DBICODE_FATALEXCEPT)
#define DBIERR_QRYNIY (ERRBASE_QUERY+ DBICODE_QRYNIY)
#define DBIERR_BADFORMAT (ERRBASE_QUERY+ DBICODE_BADFORMAT)
#define DBIERR_QRYEMPTY (ERRBASE_QUERY+ DBICODE_QRYEMPTY)
#define DBIERR_NOQRYTOPREP (ERRBASE_QUERY+ DBICODE_NOQRYTOPREP)
#define DBIERR_BUFFTOOSMALL (ERRBASE_QUERY+ DBICODE_BUFFTOOSMALL)
#define DBIERR_QRYNOTPARSE (ERRBASE_QUERY+ DBICODE_QRYNOTPARSE)
#define DBIERR_NOTHANDLE (ERRBASE_QUERY+ DBICODE_NOTHANDLE)
#define DBIERR_QRYSYNTERR (ERRBASE_QUERY+ DBICODE_QRYSYNTERR)
#define DBIERR_QXFLDCOUNT (ERRBASE_QUERY+ DBICODE_QXFLDCOUNT)
#define DBIERR_QXFLDSYMNOTFOUND (ERRBASE_QUERY+ DBICODE_QXFLDSYMNOTFOUND)
#define DBIERR_QXTBLSYMNOTFOUND (ERRBASE_QUERY+ DBICODE_QXTBLSYMNOTFOUND)
#define DBIERR_BLOBTERM (ERRBASE_QUERY+ DBICODE_BLOBTERM)
#define DBIERR_BLOBERR (ERRBASE_QUERY+ DBICODE_BLOBERR)
#define DBIERR_RESTARTQRY (ERRBASE_QUERY+ DBICODE_RESTARTQRY)
#define DBIERR_UNKNOWNANSTYPE (ERRBASE_QUERY+ DBICODE_UNKNOWNANSTYPE)
#define DBIERR_SQLG_MDIST (ERRBASE_QUERY+ DBICODE_SQLG_MDIST)
#define DBIERR_SQLG_NOARI (ERRBASE_QUERY+ DBICODE_SQLG_NOARI)
#define DBIERR_SQLG_LIKEN (ERRBASE_QUERY+ DBICODE_SQLG_LIKEN)
#define DBIERR_SQLG_ALPHO (ERRBASE_QUERY+ DBICODE_SQLG_ALPHO)
#define DBIERR_SQLG_DATEO (ERRBASE_QUERY+ DBICODE_SQLG_DATEO)
#define DBIERR_SQLG_RELOP (ERRBASE_QUERY+ DBICODE_SQLG_RELOP)
#define DBIERR_SQLG_ONLYC (ERRBASE_QUERY+ DBICODE_SQLG_ONLYC)
#define DBIERR_SQLG_CNTLN (ERRBASE_QUERY+ D
13.06.2007 13:16
System Related (Fatal Error)

8449 : $2101 : Cannot open a system file.
8450 : $2102 : I/O error on a system file.
8451 : $2103 : Data structure corruption.
8452 : $2104 : Cannot find Engine configuration file.
8453 : $2105 : Cannot write to Engine configuration file.
8454 : $2106 : Cannot initialize with different
configuration file.
8455 : $2107 : System has been illegally re-entered.
8456 : $2108 : Cannot locate IDAPI32 .DLL.
8457 : $2109 : Cannot load IDAPI32 .DLL.
8458 : $210A : Cannot load an IDAPI service library.
8459 : $210B : Cannot create or open temporary file.
8460 : $210C : Trying to load multiple IDAPIxx.DLL
8461 : $210D : Shared Memory Conflict

Object of Interest not Found

8705 : $2201 : At beginning of table.
8706 : $2202 : At end of table.
8707 : $2203 : Record moved because key value changed.
8708 : $2204 : Record/Key deleted.
8709 : $2205 : No current record.
8710 : $2206 : Could not find record.
8711 : $2207 : End of BLOB.
8712 : $2208 : Could not find object.
8713 : $2209 : Could not find family member.
8714 : $220A : BLOB file is missing.
8715 : $220B : Could not find language driver.

Physical Data Corruption

8961 : $2301 : Corrupt table/index header.
8962 : $2302 : Corrupt file - other than header.
8963 : $2303 : Corrupt Memo/BLOB file.
8965 : $2305 : Corrupt index.
8966 : $2306 : Corrupt lock file.
8967 : $2307 : Corrupt family file.
8968 : $2308 : Corrupt or missing .VAL file.
8969 : $2309 : Foreign index file format.

I/O related error

9217 : $2401 : Read failure.
9218 : $2402 : Write failure.
9219 : $2403 : Cannot access directory.
9220 : $2404 : File Delete operation failed.
9221 : $2405 : Cannot access file.
9222 : $2406 : Access to table disabled because of
previous error.

Resource or Limit error

9473 : $2501 : Insufficient memory for this operation.
9474 : $2502 : Not enough file handles.
9475 : $2503 : Insufficient disk space.
9476 : $2504 : Temporary table resource limit.
9477 : $2505 : Record size is too big for table.
9478 : $2506 : Too many open cursors.
9479 : $2507 : Table is full.
9480 : $2508 : Too many sessions from this workstation.
9481 : $2509 : Serial number limit (Paradox).
9482 : $250A : Some internal limit (see context).
9483 : $250B : Too many open tables.
9484 : $250C : Too many cursors per table.
9485 : $250D : Too many record locks on table.
9486 : $250E : Too many clients.
9487 : $250F : Too many indexes on table.
9488 : $2510 : Too many sessions.
9489 : $2511 : Too many open databases.
9490 : $2512 : Too many passwords.
9491 : $2513 : Too many active drivers.
9492 : $2514 : Too many fields in Table Create.
9493 : $2515 : Too many table locks.
9494 : $2516 : Too many open BLOBs.
9495 : $2517 : Lock file has grown too large.
9496 : $2518 : Too many open queries.
9497 : $2519 : Too many threads for client.
9498 : $251A : Too many BLOBs.
9499 : $251B : File name is too long for a Paradox version
5.0 table.
9500 : $251C : Row fetch limit exceeded.
9501 : $251D : Long name not allowed for this tablelevel.
9502 : $251E : Insufficient shared memory available.

Integrity Violation

9729 : $2601 : Key violation.
9730 : $2602 : Minimum validity check failed.
9731 : $2603 : Maximum validity check failed.
9732 : $2604 : Field value required.
9733 : $2605 : Master record missing.
9734 : $2606 : Master has detail records. Cannot delete or
modify.
9735 : $2607 : Master table level is incorrect.
9736 : $2608 : Field value out of lookup table range.
9737 : $2609 : Lookup Table Open operation failed.
9738 : $260A : Detail Table Open operation failed.
9739 : $260B : Master Table Open operation failed.
9740 : $260C : Field is blank.
9741 : $260D : Link to master table already defined.
9742 : $260E : Master table is open.
9743 : $260F : Detail table(s) exist.
9744 : $2610 : Master has detail records. Cannot empty it.
9745 : $2611 : Self referencing referential integrity must
be entered one at a time with no other
changes to the table
9746 : $2612 : Detail table is open.
9747 : $2613 : Cannot make this master a detail of another
table if its details are not empty.
9748 : $2614 : Referential integrity fields must be
indexed.
9749 : $2615 : A table linked by referential integrity
requires password to open.
9750 : $2616 : Field(s) linked to more than one master.
9751 : $2617 : Expression validity check failed.

Invalid Request

9985 : $2701 : Number is out of range.
9986 : $2702 : Invalid parameter.
9987 : $2703 : Invalid file name.
9988 : $2704 : File does not exist.
9989 : $2705 : Invalid option.
9990 : $2706 : Invalid handle to the function.
9991 : $2707 : Unknown table type.
9992 : $2708 : Cannot open file.
9993 : $2709 : Cannot redefine primary key.
9994 : $270A : Cannot change this RINTDesc.
9995 : $270B : Foreign and primary key do not match.
9996 : $270C : Invalid modify request.
9997 : $270D : Index does not exist.
9998 : $270E : Invalid offset into the BLOB.
9999 : $270F : Invalid descriptor number.
10000 : $2710 : Invalid field type.
10001 : $2711 : Invalid field descriptor.
10002 : $2712 : Invalid field transformation.
10003 : $2713 : Invalid record structure.
10004 : $2714 : Invalid descriptor.
10005 : $2715 : Invalid array of index descriptors.
10006 : $2716 : Invalid array of validity check descriptors.
10007 : $2717 : Invalid array of referential integrity
descriptors.
10008 : $2718 : Invalid ordering of tables during restructure.
10009 : $2719 : Name not unique in this context.
10010 : $271A : Index name required.
10011 : $271B : Invalid session handle.
10012 : $271C : invalid restructure operation.
10013 : $271D : Driver not known to system.
10014 : $271E : Unknown database.
10015 : $271F : Invalid password given.
10016 : $2720 : No callback function.
10017 : $2721 : Invalid callback buffer length.
10018 : $2722 : Invalid directory.
10019 : $2723 : Translate Error. Value out of bounds.
10020 : $2724 : Cannot set cursor of one table to another.
10021 : $2725 : Bookmarks do not match table.
10022 : $2726 : Invalid index/tag name.
10023 : $2727 : Invalid index descriptor.
10024 : $2728 : Table does not exist.
10025 : $2729 : Table has too many users.
10026 : $272A : Cannot evaluate Key or Key does not pass
filter condition.
10027 : $272B : Index already exists.
10028 : $272C : Index is open.
10029 : $272D : Invalid BLOB length.
10030 : $272E : Invalid BLOB handle in record buffer.
10031 : $272F : Table is open.
10032 : $2730 : Need to do (hard) restructure.
10033 : $2731 : Invalid mode.
10034 : $2732 : Cannot close index.
10035 : $2733 : Index is being used to order table.
10036 : $2734 : Unknown user name or password.
10037 : $2735 : Multi-level cascade is not supported.
10038 : $2736 : Invalid field name.
10039 : $2737 : Invalid table name.
10040 : $2738 : Invalid linked cursor expression.
10041 : $2739 : Name is reserved.
10042 : $273A : Invalid file extension.
10043 : $273B : Invalid language Driver.
10044 : $273C : Alias is not currently opened.
10045 : $273D : Incompatible record structures.
10046 : $273E : Name is reserved by DOS.
10047 : $273F : Destination must be indexed.
10048 : $2740 : Invalid index type
10049 : $2741 : Language Drivers of Table and Index do not
match
10050 : $2742 : Filter handle is invalid
10051 : $2743 : Invalid Filter
10052 : $2744 : Invalid table create request
10053 : $2745 : Invalid table delete request
10054 : $2746 : Invalid index create request
10055 : $2747 : Invalid index delete request
10056 : $2748 : Invalid table specified
10058 : $274A : Invalid Time.
10059 : $274B : Invalid Date.
10060 : $274C : Invalid Datetime
10061 : $274D : Tables in different directories
10062 : $274E : Mismatch in the number of arguments
10063 : $274F : Function not found in service library.
10064 : $2750 : Must use baseorder for this operation.
10065 : $2751 : Invalid procedure name
10066 : $2752 : The field map is invalid.

Locking/Contention related

10241 : $2801 : Record locked by another user.
10242 : $2802 : Unlock failed.
10243 : $2803 : Table is busy.
10244 : $2804 : Directory is busy.
10245 : $2805 : File is locked.
10246 : $2806 : Directory is locked.
10247 : $2807 : Record already locked by this session.
10248 : $2808 : Object not locked.
10249 : $2809 : Lock time out.
10250 : $280A : Key group is locked.
10251 : $280B : Table lock was lost.
10252 : $280C : Exclusive access was lost.
10253 : $280D : Table cannot be opened for exclusive use.
10254 : $280E : Conflicting record lock in this session.
10255 : $280F : A deadlock was detected.
10256 : $2810 : A user transaction is already in progress.
10257 : $2811 : No user transaction is currently in progress.
10258 : $2812 : Record lock failed.
10259 : $2813 : Couldn't perform the edit because another
user changed the record.
10260 : $2814 : Couldn't perform the edit because another
user deleted or moved the record.

Access Violation - Security related

10497 : $2901 : Insufficient field rights for operation.
10498 : $2902 : Insufficient table rights for operation.
Password required.
10499 : $2903 : Insufficient family rights for operation.
10500 : $2904 : This directory is read only.
10501 : $2905 : Database is read only.
10502 : $2906 : Trying to modify read-only field.
10503 : $2907 : Encrypted dBASE tables not supported.
10504 : $2908 : Insufficient SQL rights for operation.

Invalid context

10753 : $2A01 : Field is not a BLOB.
10754 : $2A02 : BLOB already opened.
10755 : $2A03 : BLOB not opened.
10756 : $2A04 : Operation not applicable.
10757 : $2A05 : Table is not indexed.
10758 : $2A06 : Engine not initialized.
10759 : $2A07 : Attempt to re-initialize Engine.
10760 : $2A08 : Attempt to mix objects from different
sessions.
10761 : $2A09 : Paradox driver not active.
10762 : $2A0A : Driver not loaded.
10763 : $2A0B : Table is read only.
10764 : $2A0C : No associated index.
10765 : $2A0D : Table(s) open. Cannot perform this operation.
10766 : $2A0E : Table does not support this operation.
10767 : $2A0F : Index is read only.
10768 : $2A10 : Table does not support this operation because
it is not uniquely indexed.
10769 : $2A11 : Operation must be performed on the current
session.
10770 : $2A12 : Invalid use of keyword.
10771 : $2A13 : Connection is in use by another statement.
10772 : $2A14 : Passthrough SQL connection must be shared

Os Error not handled by Idapi

11009 : $2B01 : Invalid function number.
11010 : $2B02 : File or directory does not exist.
11011 : $2B03 : Path not found.
11012 : $2B04 : Too many open files. You may need to increase
MAXFILEHANDLE limit in IDAPI configuration.
11013 : $2B05 : Permission denied.
11014 : $2B06 : Bad file number.
11015 : $2B07 : Memory blocks destroyed.
11016 : $2B08 : Not enough memory.
11017 : $2B09 : Invalid memory block address.
11018 : $2B0A : Invalid environment.
11019 : $2B0B : Invalid format.
11020 : $2B0C : Invalid access code.
11021 : $2B0D : Invalid data.
11023 : $2B0F : Device does not exist.
11024 : $2B10 : Attempt to remove current directory.
11025 : $2B11 : Not same device.
11026 : $2B12 : No more files.
11027 : $2B13 : Invalid argument.
11028 : $2B14 : Argument list is too long.
11029 : $2B15 : Execution format error.
11030 : $2B16 : Cross-device link.
11041 : $2B21 : Math argument.
11042 : $2B22 : Result is too large.
11043 : $2B23 : File already exists.
11047 : $2B27 : Unknown internal operating system error.
11058 : $2B32 : Share violation.
11059 : $2B33 : Lock violation.
11060 : $2B34 : Critical DOS Error.
11061 : $2B35 : Drive not ready.
11108 : $2B64 : Not exact read/write.
11109 : $2B65 : Operating system network error.
11110 : $2B66 : Error from NOVELL file server.
11111 : $2B67 : NOVELL server out of memory.
11112 : $2B68 : Record already locked by this workstation.
11113 : $2B69 : Record not locked.

Network related

11265 : $2C01 : Network initialization failed.
11266 : $2C02 : Network user limit exceeded.
11267 : $2C03 : Wrong .NET file version.
11268 : $2C04 : Cannot lock network file.
11269 : $2C05 : Directory is not private.
11270 : $2C06 : Directory is controlled by other .NET file.
11271 : $2C07 : Unknown network error.
11272 : $2C08 : Not initialized for accessing network files.
11273 : $2C09 : SHARE not loaded. It is required to share
local files.
11274 : $2C0A : Not on a network. Not logged in or wrong
network driver.
11275 : $2C0B : Lost communication with SQL server.
11277 : $2C0D : Cannot locate or connect to SQL server.
11278 : $2C0E : Cannot locate or connect to network server.

Optional parameter related

11521 : $2D01 : Optional parameter is required.
11522 : $2D02 : Invalid optional parameter.

Query related

11777 : $2E01 : obsolete
11778 : $2E02 : obsolete
11779 : $2E03 : Ambiguous use of ! (inclusion operator).
11780 : $2E04 : obsolete
11781 : $2E05 : obsolete
11782 : $2E06 : A SET operation cannot be included in its own
grouping.
11783 : $2E07 : Only numeric and date/time fields can be
averaged.
11784 : $2E08 : Invalid expression.
11785 : $2E09 : Invalid OR expression.
11786 : $2E0A : obsolete
11787 : $2E0B : bitmap
11788 : $2E0C : CALC expression cannot be used in INSERT,
DELETE, CHANGETO and SET rows.
11789 : $2E0D : Type error in CALC expression.
11790 : $2E0E : CHANGETO can be used in only one query form at
a time.
11791 : $2E0F : Cannot modify CHANGED table.
11792 : $2E10 : A field can contain only one CHANGETO
expression.
11793 : $2E11 : A field cannot contain more than one
expression to be inserted.
11794 : $2E12 : obsolete
11795 : $2E13 : CHANGETO must be followed by the new value
for the field.
11796 : $2E14 : Checkmark or CALC expressions cannot be used
in FIND queries.
11797 : $2E15 : Cannot perform operation on CHANGED table
together with a CHANGETO query.
11798 : $2E16 : chunk
11799 : $2E17 : More than 255 fields in ANSWER table.
11800 : $2E18 : AS must be followed by the name for the field
in the ANSWER table.
11801 : $2E19 : DELETE can be used in only one query form at
a time.
11802 : $2E1A : Cannot perform operation on DELETED table
together with a DELETE query.
11803 : $2E1B : Cannot delete from the DELETED table.
11804 : $2E1C : Example element is used in two fields with
incompatible types or with a BLOB.
11805 : $2E1D : Cannot use example elements in an OR
expression.
11806 : $2E1E : Expression in this field has the wrong type.
11807 : $2E1F : Extra comma found.
11808 : $2E20 : Extra OR found.
11809 : $2E21 : One or more query rows do not contribute to
the ANSWER.
11810 : $2E22 : FIND can be used in only one query form at a
time.
11811 : $2E23 : FIND cannot be used with the ANSWER table.
11812 : $2E24 : A row with GROUPBY must contain SET
operations.
11813 : $2E25 : GROUPBY can be used only in SET rows.
11814 : $2E26 : Use only INSERT, DELETE, SET or FIND in
leftmost column.
11815 : $2E27 : Use only one INSERT, DELETE, SET or FIND per
line.
11816 : $2E28 : Syntax error in expression.
11817 : $2E29 : INSERT can be used in only one query form at
a time.
11818 : $2E2A : Cannot perform operation on INSERTED table
together with an INSERT query.
11819 : $2E2B : INSERT, DELETE, CHANGETO and SET rows may not
be checked.
11820 : $2E2C : Field must contain an expression to insert
(or be blank).
11821 : $2E2D : Cannot insert into the INSERTED table.
11822 : $2E2E : Variable is an array and cannot be accessed.
11823 : $2E2F : Label
11824 : $2E30 : Rows of example elements in CALC expression
must be linked.
11825 : $2E31 : Variable name is too long.
11826 : $2E32 : Query may take a long time to process.
11827 : $2E33 : Reserved word or one that can't be used as a
variable name.
11828 : $2E34 : Missing comma.
11829 : $2E35 : Missing ).
11830 : $2E36 : Missing right quote.
11831 : $2E37 : Cannot specify duplicate column names.
11832 : $2E38 : Query has no checked fields.
11833 : $2E39 : Example element has no defining occurrence.
11834 : $2E3A : No grouping is defined for SET operation.
11835 : $2E3B : Query makes no sense.
11836 : $2E3C : Cannot use patterns in this context.
11837 : $2E3D : Date does not exist.
11838 : $2E3E : Variable has not been assigned a value.
11839 : $2E3F : Invalid use of example element in summary
expression.
11840 : $2E40 : Incomplete query statement. Query only
contains a SET definition.
11841 : $2E41 : Example element with ! makes no sense in
expression.
11842 : $2E42 : Example element cannot be used more than twice
with a ! query.
11843 : $2E43 : Row cannot contain expression.
11844 : $2E44 : obsolete
11845 : $2E45 : obsolete
11846 : $2E46 : No permission to insert or delete records.
11847 : $2E47 : No permission to modify field.
11848 : $2E48 : Field not found in table.
11849 : $2E49 : Expecting a column separator in table header.
11850 : $2E4A : Expecting a column separator in table.
11851 : $2E4B : Expecting column name in table.
11852 : $2E4C : Expecting table name.
11853 : $2E4D : Expecting consistent number of columns in all
rows of table.
11854 : $2E4E : Cannot open table.
11855 : $2E4F : Field appears more than once in table.
11856 : $2E50 : This DELETE, CHANGE or INSERT query has no
ANSWER.
11857 : $2E51 : Query is not prepared. Properties unknown.
11858 : $2E52 : DELETE rows cannot contain quantifier
expression.
11859 : $2E53 : Invalid expression in INSERT row.
11860 : $2E54 : Invalid expression in INSERT row.
11861 : $2E55 : Invalid expression in SET definition.
11862 : $2E56 : row use
11863 : $2E57 : SET keyword expected.
11864 : $2E58 : Ambiguous use of example element.
11865 : $2E59 : obsolete
11866 : $2E5A : obsolete
11867 : $2E5B : Only numeric fields can be summed.
11868 : $2E5C : Table is write protected.
11869 : $2E5D : Token not found.
11870 : $2E5E : Cannot use example element with ! more than
once in a single row.
11871 : $2E5F : Type mismatch in expression.
11872 : $2E60 : Query appears to ask two unrelated questions.
11873 : $2E61 : Unused SET row.
11874 : $2E62 : INSERT, DELETE, FIND, and SET can be used only
in the leftmost column.
11875 : $2E63 : CHANGETO cannot be used with INSERT, DELETE,
SET or FIND.
11876 : $2E64 : Expression must be followed by an example
element defined in a SET.
11877 : $2E65 : Lock failure.
11878 : $2E66 : Expression is too long.
11879 : $2E67 : Refresh exception during query.
11880 : $2E68 : Query canceled.
11881 : $2E69 : Unexpected Database Engine error.
11882 : $2E6A : Not enough memory to finish operation.
11883 : $2E6B : Unexpected exception.
11884 : $2E6C : Feature not implemented yet in query.
11885 : $2E6D : Query format is not supported.
11886 : $2E6E : Query string is empty.
11887 : $2E6F : Attempted to prepare an empty query.
11888 : $2E70 : Buffer too small to contain query string.
11889 : $2E71 : Query was not previously parsed or prepared.
11890 : $2E72 : Function called with bad query handle.
11891 : $2E73 : QBE syntax error.
11892 : $2E74 : Query extended syntax field count error.
11893 : $2E75 : Field name in sort or field clause not found.
11894 : $2E76 : Table name in sort or field clause not found.
11895 : $2E77 : Operation is not supported on BLOB fields.
11896 : $2E78 : General BLOB error.
11897 : $2E79 : Query must be restarted.
11898 : $2E7A : Unknown answer table type.
11926 : $2E96 : Blob cannot be used as grouping field.
11927 : $2E97 : Query properties have not been fetched.
11928 : $2E98 : Answer table is of unsuitable type.
11929 : $2E99 : Answer table is not yet supported under server
alias.
11930 : $2E9A : Non-null blob field required. Can't insert
records
11931 : $2E9B : Unique index required to perform changeto
11932 : $2E9C : Unique index required to delete records
11933 : $2E9D : Update of table on the server failed.
11934 : $2E9E : Can't process this query remotely.
11935 : $2E9F : Unexpected end of command.
11936 : $2EA0 : Parameter not set in query string.
11937 : $2EA1 : Query string is too long.
11946 : $2EAA : No such table or correlation name.
11947 : $2EAB : Expression has ambiguous data type.
11948 : $2EAC : Field in order by must be in result set.
11949 : $2EAD : General parsing error.
11950 : $2EAE : Record or field constraint failed.
11951 : $2EAF : When GROUP BY exists, every simple field in
projectors must be in GROUP BY.
11952 : $2EB0 : User defined function is not defined.
11953 : $2EB1 : Unknown error from User defined function.
11954 : $2EB2 : Single row subquery produced more than one row.
11955 : $2EB3 : Expressions in group by are not supported.
11956 : $2EB4 : Queries on text or ascii tables is not supported.
11957 : $2EB5 : ANSI join keywords USING and NATURAL are not
supported in this release.
11958 : $2EB6 : SELECT DISTINCT may not be used with UNION
unless UNION ALL is used.
11959 : $2EB7 : GROUP BY is required when both aggregate and
non-aggregate fields are used in result set.
11960 : $2EB8 : INSERT and UPDATE operations are not supported
on autoincrement field type.
11961 : $2EB9 : UPDATE on Primary Key of a Master Table may
modify more than one record.
11962 : $2EBA : Queries on MS ACCESS tables are not supported
by local query engines.
11963 : $2EBB : Preparation of field-level constraint failed.
11964 : $2EBC : Preparation of field default failed.
11965 : $2EBD : Preparation of record-level constraint failed.
11972 : $2EC4 : Constraint Failed. Expression:

Version Mismatch Category

12033 : $2F01 : Interface mismatch. Engine version different.
12034 : $2F02 : Index is out of date.
12035 : $2F03 : Older version (see context).
12036 : $2F04 : .VAL file is out of date.
12037 : $2F05 : BLOB file version is too old.
12038 : $2F06 : Query and Engine DLLs are mismatched.
12039 : $2F07 : Server is incompatible version.
12040 : $2F08 : Higher table level required

Capability not supported

12289 : $3001 : Capability not supported.
12290 : $3002 : Not implemented yet.
12291 : $3003 : SQL replicas not supported.
12292 : $3004 : Non-blob column in table required to perform
operation.
12293 : $3005 : Multiple connections not supported.
12294 : $3006 : Full dBASE expressions not supported.
12295 : $3007 : Nested transactions not supported.

System configuration error

12545 : $3101 : Invalid database alias specification.
12546 : $3102 : Unknown database type.
12547 : $3103 : Corrupt system configuration file.
12548 : $3104 : Network type unknown.
12549 : $3105 : Not on the network.
12550 : $3106 : Invalid configuration parameter.

Warnings

12801 : $3201 : Object implicitly dropped.
12802 : $3202 : Object may be truncated.
12803 : $3203 : Object implicitly modified.
12804 : $3204 : Should field constraints be checked?
12805 : $3205 : Validity check field modified.
12806 : $3206 : Table level changed.
12807 : $3207 : Copy linked tables?
12809 : $3209 : Object implicitly truncated.
12810 : $320A : Validity check will not be enforced.
12811 : $320B : Multiple records found, but only one was
expected.
12812 : $320C : Field will be trimmed, cannot put master
records into PROBLEM table.

Miscellaneous

13057 : $3301 : File already exists.
13058 : $3302 : BLOB has been modified.
13059 : $3303 : General SQL error.
13060 : $3304 : Table already exists.
13061 : $3305 : Paradox 1.0 tables are not supported.
13062 : $3306 : Update aborted.

Compatibility related

13313 : $3401 : Different sort order.
13314 : $3402 : Directory in use by earlier version of
Paradox.
13315 : $3403 : Needs Paradox 3.5-compatible language driver.

Data Repository related

13569 : $3501 : Data Dictionary is corrupt
13570 : $3502 : Data Dictionary Info Blob corrupted
13571 : $3503 : Data Dictionary Schema is corrupt
13572 : $3504 : Attribute Type exists
13573 : $3505 : Invalid Object Type
13574 : $3506 : Invalid Relation Type
13575 : $3507 : View already exists
13576 : $3508 : No such View exists
13577 : $3509 : Invalid Record Constraint
13578 : $350A : Object is in a Logical DB
13579 : $350B : Dictionary already exists
13580 : $350C : Dictionary does not exist
13581 : $350D : Dictionary database does not exist
13582 : $350E : Dictionary info is out of date - needs Refresh
13584 : $3510 : Invalid Dictionary Name
13585 : $3511 : Dependent Objects exist
13586 : $3512 : Too many Relationships for this Object Type
13587 : $3513 : Relationships to the Object exist
13588 : $3514 : Dictionary Exchange File is corrupt
13589 : $3515 : Dictionary Exchange File Version mismatch
13590 : $3516 : Dictionary Object Type Mismatch
13591 : $3517 : Object exists in Target Dictionary
13592 : $3518 : Cannot access Data Dictionary
13593 : $3519 : Cannot create Data Dictionary
13594 : $351A : Cannot open Database

Driver related

15873 : $3E01 : Wrong driver name.
15874 : $3E02 : Wrong system version.
15875 : $3E03 : Wrong driver version.
15876 : $3E04 : Wrong driver type.
15877 : $3E05 : Cannot load driver.
15878 : $3E06 : Cannot load language driver.
15879 : $3E07 : Vendor initialization failed.
15880 : $3E08 : Your application is not enabled for use with
this driver.
Часовой пояс GMT +3, время: 22:49.

Форум на базе vBulletin®
Copyright © Jelsoft Enterprises Ltd.
В случае заимствования информации гипертекстовая индексируемая ссылка на Форум обязательна.