Home Home

ObjectDatabase++ Error Codes

Error Code in the form of 0x1XXXX are ObjectDatabase++ errors with the XXXX matching the details below. Error code in the form of 0x2XXXX are Windows errors - see Winerror.h for details. Error code in the form of 0x3XXXX are Linux errors - mostly see asm/errno.h or sys_errlist[XXXX] for details. Use GetErrorMessage for more details.
Find Error Value:

 ErrorValueDescription
    0 No Error
Back To Top ODBPP_UNREGISTERED 1 This error code is returned when the ObjectDatabase++ has no longer a current licence. You must either enter a valid licence through RegisterODBPP or download an updated copy of the library.
Back To Top FILE_NOT_LOCAL 2 ObjectDatabase++ is designed as a multi-process, server side embedded database library and as such uses mutexes for concurrency control with a shared memory file for IPC that is not flushed to disk, this prevent two copies of the library interaction into one set of files on a network file server. Therefore ObjectDatabase++ is made to only run on a server with the files locally.
Back To Top DATABASE_NOT_OPEN 3 The database needs to be open before any operations can take place, a call to OpenDatabase or CreateDatabase must be called first.
Back To Top DATABASE_NOT_EXCLUSIVE 4 For database operations that edit the schema of any table or the control file, the executing transaction must start with BeginTransaction mode set to exclusive.
Back To Top DATABASE_NOT_EDITABLE 5 Before any transaction can call any method that edits the database, it must start with BeginTransaction in an editable mode, such as shared or excusive. This error is returned when the transaction mode is set to lock free.
Back To Top TABLE_NOT_OPEN 6 This error code is returned when a method is unable to find an open table that matches the given tableID parameter. Make sure that OpenTable is called with the correct table ID before any read corresponding calls for reading or editing of the table.
Back To Top INVALID_PARAMETER 7 This error code is a general error code that signifies a parameter of the method is invalid, it has no specific relationship to the exact cause of the error.
Back To Top INVALID_OPERATION 8 This error code is a general error code that signifies a method has been called in a wrong context, for example, if the method PutVariableValues is called when the tableID refers to a fixed length table.
Back To Top INVALID_TABLE_NAME 9 This table name given to the method is invalid, either because it is already in use or has invalid character or path.
Back To Top INVALID_TABLE_ID 10 The tableID valid give to a method is incorrect, either in the tableID parameter of the method or the tableID value in the schema, because it is in use or in the case of the parameter - the table is not opened.
Back To Top INVALID_TABLE_LOCK_ORDER 11 The give table locking order value is already in use, the existing table with the global locking order position must be removed with RemoveTable or changed with SetTableSchema before a table can be allocated with that locking position. Try using the value zero so ObjectDatabase++ is set the next valid value.
Back To Top INVALID_FIELD_TYPE 12 When a table is created or edited, ObjectDatabase++ will make sure that all values of the schema are valid and will give this error if the give value for the field type is unknown and current copy of ObjectDatabase++ may need updating, or in the case of PutVariableValues it would suggest that the table file has corrupted.
Back To Top INVALID_FIELD_ORDER 13 The given table schema has a fixed field after a variable field. ObjectDatabase++ expects all variable field to be after the fixed fields. This enables the use of structures to access fixed fields.
Back To Top INVALID_FIELD_POS_IN_INDEX 14 Within the given table schema, the value given to refer to the underlining field position is out of range.
Back To Top INVALID_FIELD_TYPE_IN_INDEX 15 Within the given table schema, the given field is the wrong type for the give index. For example CODBPP::RECT and CODBPP::CUBE are only valid in Spatial Indexed and not in B+-Tree Indexes.
Back To Top INVALID_FIELD_NAME 42 All fields should be given a name, just for compatibility reasons.
Back To Top INVALID_SEGMENT_MODE 16 Within the given table schema, the given segment mode is invalid, see segments modes for correct values.
Back To Top INVALID_SEGMENT_COUNT 17 Within the given table schema, the given segment count is invalid, this error is caused only by Spatial Indexes since only one field per indexis allowed.
Back To Top INVALID_SEGMENT_MULTIENTRY 61 Within the given table schema, an index may only have segments fields from one sub-table (CODBPP::SUB_TABLE).
Back To Top INVALID_SEARCH_MODE 18 The CODBPP::Mode operation used in a read operation is invalid, please recheck the value you are supplying and try using with preference the defined enum within the ObjectDatabase++ class.
Back To Top INVALID_SEARCH_STRING 63 The token string given to the SearchIndex operation is invalid, please recheck the string you are trying to search with for the correct logical format.
Back To Top INVALID_INDEX_TYPE 19 Within the given table schema, the value of an index type is invalid, valid index types are as in IndexType.
Back To Top INVALID_INDEX_MAX_COUNT 20 Within the given token list index, the value of the index max object count is too high for any normal meaning. The max object count equals 2 to the power of maxObjects.
Back To Top INVALID_INDEX_LOCK_ORDER 26 The lock order index must be either the ObjectID or a B+Tree index.
Back To Top INVALID_CONTROL_VERSION 21 The *.obc file that you are trying to use is either corrupt of the wrong version. You can try adding the table files to a newly create control file or update your version of ObjectDatabase++ library.
Back To Top INVALID_TABLE_VERSION 22 The *.obt file that you are trying to use is either corrupt of the wrong version. You can try using SetTableSchema to update the table format or by updating your version of ObjectDatabase++ library if you are using an older version then the file.
Back To Top INVALID_INDEX_VERSION 23 The *.obi file that you are trying to use is either corrupt of the wrong version. You can delete the *.obi file associated with the table and search for the first object in the first index while the table is opened in CODBPP::EXCLUSIVE mode, this will trigger ObjectDatabase++ to recreate the index file in the correct version connected with the current version you are using.
Back To Top INVALID_LOG_VERSION 24 The *.obl file that you are trying to use is either corrupt of the wrong version. You can delete the *.obl file associated with the control file, opening the control file will trigger ObjectDatabase++ to recreate the log file in the correct version connected with the current version of the library you are using.
Back To Top UNABLE_TO_LOCK_DATABASE 25 BeginTransaction is unable to gain control of the control file, usually because another transaction is currently executing in exclusive mode.
Back To Top UNABLE_TO_LOCK_OBJECT 27 The object required to be lock is currently lock by another transaction.
Back To Top UNABLE_DELETE_ADDED_OBJECT 29 Unable to delete an object previously added by the same transaction, in this case you should use the RestoreObject method to clear the object it from the transaction.
Back To Top NOT_FOUND_TABLE 30 The requested table was not found in the control file.
Back To Top NOT_FOUND_OBJECT 31 The requested object was not found in the table.
Back To Top NOT_FOUND_INDEX_KEY 32 The requested index value was not found. This value is also returned when a search request asks for a relative index compared to the current object held in the table.
Back To Top NOT_FOUND_LOG_ENTRY 33 The log entry was not found, if this error is recursive try deleting the current log file.
Back To Top ALREADY_IN_USE_DATABASE 34 When the database is already open, ObjectDatabase++ will not create or open another until the original control file is closed.
Back To Top ALREADY_IN_USE_TABLE 35 When the table is already open, ObjectDatabase++ will not create or open another.
Back To Top ALREADY_IN_USE_OBJECT 36 DeleteObject is unable to perform its operation on an object that has previously been locked by AddObject or by itself.
Back To Top ALREADY_IN_USE_INDEX_KEY 37 This error is returned when the object you are trying to add to a table has the same index value as an object already within the table. If this error is incorrect and caused by a corrupted index file, try deleting the index file and then searching the for the first object in the first index with the database opened in CODBPP::EXCLUSIVE mode, this will trigger ObjectDatabase++ to rebuild the index file.
Back To Top ALREADY_IN_USE_LOG_KEY 38 A strange internal error.
Back To Top NO_VALID_OBJECT 39 The table handle does not currently contain an object that is required for the correct performance to the called method.
Back To Top NO_VALID_SEARCH_TREE 40 Unable to find an object since the search index was created on another index, try using SearchIndex once again on the required index.
Back To Top TRANSACTION_UNSAVED 41 Before any method can edited any table schema, the database must be in a neutral state, this can be done by calling AbortTransaction or CommitTransacion and releasing all object locks.
Back To Top CAST_UNAVAILABLE 43 SetTableSchema is currently unable to cast one field type to the required field type.
Back To Top INCONSISTENT_INDEX 44 This error is returned when the index file is no longer consistence with the table file. Try deleting the index file and then searching the for the first object in the first index with the database opened in CODBPP::EXCLUSIVE mode, this will trigger ObjectDatabase++ to rebuild the index file.
Back To Top INCONSISTENT_THREAD 28 All transactions must be started and completed on the same thread as memory is allocated on the local heap, requiring each thread to have its own CODBPP handle.
Back To Top CORRUPT_OBJECT_LENGTH 45 The object length is too long and does not match the schema format.
Back To Top CORRUPT_OBJECT_FORMAT 46 The object format has been corrupted.
Back To Top CORRUPT_DELETE_ID_LIST 47 The table file has been corrupted. Try rebuilding table with SetTableSchema.
Back To Top CORRUPT_FREE_SPACE_LIST 48 The files free space list has been corrupted, this can be with in the index, log or table files. Try rebuilding table with SetTableSchema.
Back To Top CORRUPT_B_TREE_FIXED_LEAF 49 Depreciated.
Back To Top CORRUPT_B_TREE_VAR_LEAF 50 A variable leaf within an index file has been corrupted. Try deleting the index file and then searching the for the first object in the first index with the database opened in CODBPP::EXCLUSIVE mode, this will trigger ObjectDatabase++ to rebuild the index file.
Back To Top CORRUPT_T_LIST_BUCKET 62 A bucket page within a token index has been corrupted. Try deleting the index file and then searching the for the first object in the first index with the database opened in CODBPP::EXCLUSIVE mode, this will trigger ObjectDatabase++ to rebuild the index file.
Back To Top CORRUPT_B_TREE 51 This error is returned when a B+-Tree index has been corrupted. Try deleting the index file and then searching the for the first object in the first index with the database opened in CODBPP::EXCLUSIVE mode, this will trigger ObjectDatabase++ to rebuild the index file.
Back To Top CORRUPT_S_TREE 52 This error is returned when a spatial index has been corrupted. Try deleting the index file and then searching the for the first object in the first index with the database opened in CODBPP::EXCLUSIVE mode, this will trigger ObjectDatabase++ to rebuild the index file.
Back To Top CORRUPT_T_TREE 64 This error is returned when a temporal index has been corrupted. Try deleting the index file and then searching the for the first object in the first index with the database opened in CODBPP::EXCLUSIVE mode, this will trigger ObjectDatabase++ to rebuild the index file.
Back To Top CORRUPT_PATTERN 65 This error is returned when a spatial pattern index has been corrupted. Try deleting the index file and then searching the for the first object in the first index with the database opened in CODBPP::EXCLUSIVE mode, this will trigger ObjectDatabase++ to rebuild the index file.
Back To Top CORRUPT_T_LIST 53 This error is returned when a Token list index has been corrupted. Try deleting the index file and then searching the for the first object in the first index with the database opened in CODBPP::EXCLUSIVE mode, this will trigger ObjectDatabase++ to rebuild the index file.
Back To Top CORRUPT_CONTROL_FILE 54 This is a general error that is return when a non-specific error has occurred while reading a control file *.odc.
Back To Top CORRUPT_TABLE_FILE 55 This is a general error that is return when a non-specific error has occurred while reading a table file *.odt. Try rebuilding table file by opening the table with SetTableSchema.
Back To Top CORRUPT_LOG_FILE 56 This is a general error that is return when a non-specific error has occurred while reading a log file *.odl. Try deleting the log file if this error reappears.
Back To Top CORRUPT_INDEX_FILE 57 This is a general error that is return when a non-specific error has occurred while reading an index file *.odi. Try deleting the index file and then searching the for the first object in the first index with the database opened in CODBPP::EXCLUSIVE mode, this will trigger ObjectDatabase++ to rebuild the index file.
Back To Top CORRUPT_MEMORY_FILE 58 This is a general error that is return when a non-specific error has occurred while reading the run time memory file *.odm. Try deleting the file.
Back To Top INTERNAL_ERROR 59 This is a general error that is return when a non-specific error has occurred from an internal source.
Back To Top AES_ERROR 60 Error with AES encryption.

Copyright © 2003-2008, Ekky Software Pty. Ltd.