Btrieve Errors


Error 01 - Invalid Operation
Error 02 - I/O Error
Error 03 - No Open
Error 04 - Key not found
Error 05 - Duplicates error
Error 06 - Invalid key number
Error 07 - Different key number
Error 08 - Invalid positioning
Error 09 - End of file
Error 10 - Modifiable error
Error 11 - Invalid file name
Error 12 - File not found
Error 13 - Extension error
Error 14 - Pre-open error
Error 15 - Pre-image error
Error 16 - Expansion error
Error 17 - Close error
Error 18 - Disk full
Error 19 - Unrecoverable error
Error 20 - Record manager inactive
Error 21 - Key buffer error
Error 22 - Record buffer
Error 23 - Position block
Error 24 - Page size
Error 25 - Create I/O error
Error 26 - Number of keys
Error 27 - Key position
Error 28 - Record length
Error 29 - Key length
Error 30 - Btrieve file name
Error 31 - Extend error
Error 32 - Extend I/O error
Error 34 - Extended name
Error 35 - Directory error
Error 36 - Transaction error
Error 37 - Begin transaction
Error 38 - Transaction control file
Error 39 - End/abort error
Error 40 - Transaction max files
Error 41 - Transaction open/close (operation).....
Error 42 - Incomplete accelerated access
Error 43 - Invalid data record address
Error 44 - Null key path
Error 45 - Iconsistent key flags
Error 46 - Access denied
Error 47 - Maximum open files
Error 48 - Invalid alternate sequence definition
Error 49 - Key type error
Error 50 - Owner already set
Error 51 - Invalid owner
Error 52 - Error writing cache
Error 53 - Invalid interface
Error 54 - Variable page error
Error 56 - Incomplete index
Error 57 - Expanded memory error
Error 58 - Compression Buffer too Short
Error 59 - File Already Exist
Error 60 - Reject Count Reached
Error 61 - Workspace too small
Error 62 - Incorrect descriptor
Error 63 - Invalid Extended Insert Buffer
Error 64 - Filter Limit Reached
Error 65 - Incorrect Filed Offset
Error 74 - Automatic Transaction Abort
Error 78 - Deadlock Detected
Error 80 - Conflict
Error 81 - Lock full
Error 82 - Lost position
Error 83 - Read outside transaction
Error 84 - Recorde in use
Error 85 - File in use
Error 86 - File full
Error 87 - Handle full
Error 88 - Mode error
Error 89 - Name error
Error 90 - Device full
Error 91 - Server error
Error 92 - Transaction full
Error 93 - Incompatible lock type
Error 94 - Permission Error
Error 95 - Session No Longer Valid
Error 96 - Communications Environment Error
Error 97 - Data message too small
Error 98 - Internal Transaction Error


Error 01 - Invalid Operation

The operation parameter must be between 0 and 30, inclusive.


Error 02 - I/O Error

An error occured during disk read/write.

This status may indicate:

  • That the file has been damaged and must been recreated, or the file name specified on the open call was not created with the CREATE utility.
  • The application writes on the position block allocated for the file.
  • There is a large pre-image file inside a transaction and there is not enaugh disk space for a write to the pre-image file
  • For pre-v6.0 data files, there is one pre-image file for multiple data files.
  • For pre-v6.0 data files that are larger than 768 MB, there is a conflict among locking mechanism. The file has not been corrupted. Your application can retry the operation until the conflict is resolved
  • A pre-v6.0 Btrieve engine attempted to open a v6.x or later data file.


Error 03 - No Open

An application must perform a successful open operation before Btrieve can process any operations.

This status may also occur if the application writes on the position block allocated for the file, or passes an invalid position block.


Error 04 - Key not found

The requested key value is not found in the specified access path.


Error 05 - Duplicates error

An attempt was made to add a record with a key field containing a duplicate key value to an index that does not allow duplicates values.


Error 06 - Invalid key number

The key number parameter is not valid for the file being accessed. The key number must correspond to one of the keys defined when the file was created.


Error 07 - Different key number

The key number parameter change before a get next, get previous, update, or delete operation. The operation requested requires the same key number parameter as the previous operation because the record manager uses positioning information relative to the previous key number.

If you need to change key numbers between consecutive get next or get previous operations, first use the get direct operation to restablish positioning by the new access path.


Error 08 - Invalid positioning

An attempt was made to update or delete a record without first performing a get position operation to establish current positioning. This status may also occur if the application writes on the position block allocated for the file.


Error 09 - End of file

An attempt was made to read the end of file. When following an access path in ascending order (using get next operations) Btrieve returns the last record in the access for the previous request. When following an access path in descending order (using get previous operations) Btrieve returns the first record in the access path for the previous request.


Error 10 - Modifiable error

An attempt was made to modify a key field which was created as non- modifiable.


Error 11 - Invalid file name

The file name does not conform to file naming conventions.


Error 12 - File not found

The file name requested does not exist. This status code may also be returned when the record manager cannot assign a handle to the file because the record manager was not started by a user with access to the file.


Error 13 - Extension error

Btrieve cannot find the extension file for a partitioned file which you have attempted to open. Extension file must be loaded on the disk drive specified when the extension was created with EXTEND. Both the primary file and its extension must be loaded to access a partitioned file.


Error 14 - Pre-open error

Pre-image files are used only for pre-v6.0 data files.

The pre-image file could not created/opened. A possible cause for this error is that the record manager cannot create a new pre-image file to protect future operations because your disk directory is full. Btrieve must be able to create a pre-image file order to operate.

If the record manager was abnormally terminated during its previous execution, it may be trying to open the pre-image file has been erased or damaged, the record manager cannot restore the file's integrity. Either use RECOVER to retrieve the damaged file's data records in a sequential file, ot replace the file with its most recent backup.

Btrieve may return this status code when the record manager was not started by a user with access to the file.

If you have an extraneous .PRE files in v5.x format and youare using a v6.0 or later, this status code is returned when you try to open the data file to which the .PRE file belongs.


Error 15 - Pre-image error

Pre-image files are used only for pre-v6.0 data files.

This status indicates an I/O error during the pre-imaging function. Either the disk is full, erase any unnecessary files or use EXTEND to gain additional disk space. If the pre-image file has been damaged, the ntegrity of the Btrieve file cannot be ensured. Either use RECOVER to retrieve the damaged file's data records in a sequential file, or replace the Btrieve file with its most recent backup.


Error 16 - Expansion error

The directory structure could not be flushed for the expanded file partition. Either the record manager cannot close the file or a new page was added to the file and the record manager cannot close and reopen the file to update the directory structure. Check for damaged disk. This status may also occur if the application writes on the position block allocated for the file.


Error 17 - Close error

The directory structure could not be flushed for the Btrieve file.

Either the record manager cannot close the file or a new page was added to the file and the record manager cannot close and reopen the file to update the directory structure. Check for a damaged disk. This status may also occur if the application write on the position block allocated for the file.


Error 18 - Disk full

The disk is full and will not allow the file to be expanded to accomodate the insertion. Either erase any unnecessary files or use EXTEND to gain additional disk space.


Error 19 - Unrecoverable error

An unrecoverable error has occured. File integrity cannot be guaranteed. Either use RECOVER to retrieve the damaged file's data records in a sequential file, or replace the Btrieve file with its most recent backup.


Error 20 - Record manager inactive

A request has been made before the record manager has been started.

Issue the command :BTRIEVE to start the record manager.


Error 21 - Key buffer error

The key buffer parameter is not long enough to accomodate the key field for the access path requested. Verify that the length of key buffer equals the defined length of the key specified by the key number parameter.


Error 22 - Record buffer

The data buffer parameter is not long enough to accomodate the length of the data record defined when the file was created. Verify that the length of the data buffer equals the file's defined record length. When this error occurs, Btrieve returns as much of the record as possible in the data buffer.

Under XENIX, this status may indicate that your program attempted to send a data buffer whose length exceeded the -d parameter or the size specified in MAX-DATA.


Error 23 - Position block

The position block parameter is not 128 bytes long.


Error 24 - Page size

The page size must be a multiple of 512 bytes but must be no larger than 4096 bytes. In addition, you cannot create or open a Btrieve file with a page size larger than the page size parameter specified when you initiated the record manager. During a CREATE operation, page size is the first file specification Btrieve checks. A status of 24 may indicate that you passed an invalid data buffer in your application.


Error 25 - Create I/O error

The file name specified could not be created. Possible causes are a full disk directory, a full disk, or the disk is write-protected. This status code may also be returned when the record manager cannot assign a handle to the file because the record manager was not started by a user with access to the file.


Error 26 - Number of keys

The number of keys specified for the page size is invalid. The number of key segments must be withi the following limits:


Page Size 512 1024 1536 2048 2560 3072 3584 4096
Max No.Key Segments 8 23 24 54 54 54 54 119

For files in v5.x format, for a page of 512 bytes, the number of key segments for all key fields specified must be between one and eight. For larger page sizes, the number of key segments for all key fields must be between one and 24.

You must define at least one key without the null attribute.


Error 27 - Key position

The key field position specified must not exceed the record length specified. Either the key position is greater than the record length or the key position plus the key length exceeds the record length.


Error 28 - Record length

The record length specified (plus overhead for duplicates) is greater than the page size minus 6.


Error 29 - Key length

The key length specified must be greater than 0 and cannot exceed 255. The length of binary key must be even. Btrieve requires that each key page in the file be large enough to hold at least four keys. If the file's page size is too small to accomodate four occurrences of the specified key length (plus overhead), either increase the file's page size or decrease the key length.


Error 30 - Btrieve file name

The file name specified is not a valid Btrieve file. Either the file was not created by Btrieve or it was created by an erlier version of Btrieve. Use the program CONVERT4.EXE on the Btrieve Diskette to convert extended files created by version 3 of Btrieve version 1 or 2, use the SAVE and LOAD utilities to convert the files.


Error 31 - Extend error

For pre-v6.0, The file name specified is already extended. A file can be extended only once.

Btrieve v6.x doues not support the extended files feature.


Error 32 - Extend I/O error

The file cannot be extended. Possible causes are that the disk directory is full, or the disk write-protected.


Error 34 - Extended name

The filename specified for the extended partition is not valid.


Error 35 - Directory error

An error occured switching between the current directory and the directory which contains the Btrieve file. Either the current directory or the Btrieve file directory is invalid.


Error 36 - Transaction error

A transaction operation cannot be performed because the /T option was not specified when the record manager was loaded.


Error 37 - Begin transaction

A begin transaction was issued while another transaction was active.

Transactions cannot be nested.


Error 38 - Transaction control file

An error occured when the record manager tried to write to the transaction control file. Possible causes are that the disk is full, the disk is write-protected, or the transaction control file (which is created when the record manager is loaded) has been deleted.


Error 39 - End/abort error

An end or abort transaction operation was issued witout a corresponding begin transaction operation.


Error 40 - Transaction max files

An attempt was made to update more than the maximum number of files allowed within a transaction. The maximum number of different files which may be updated during a logical transaction is 12.

This status code applies only to pre-v6.0 Btrieve


Error 41 - Transaction open/close (operation).....

An attempt was made to open or close a file while a transaction was active. Open and close operations are prohibited during a logical transaction because they may change the pre-image file.


Error 42 - Incomplete accelerated access

An attempt was made to open a file that was previously accessed in accelerated mode and never successfully closed. The file's integrity cannot be ensured. Either use to RECOVER to build a new file or write your own recovery program that opens the file in recover mode and uses step direct to retrieve the data records.


Error 43 - Invalid data record address

The record address specified on a get direct is invalid. Either the address is outside of the file's bounds or it is not on a record boundery within a data page. The 4-byte address you specify on get direct should be one that was obtained by a get position operation.


Error 44 - Null key path

An attempt has been made to use get direct to establish an access path for a key whose value is null in the corresponding record. Btrieve cannot estalish positioning based on a null key value.


Error 45 - Iconsistent key flags

The key flags specifcation on a create operation is inconsistent. If a key has a multiple segments, the duplicate, modifiable, and null attributes should be the same for each segment in the key.


Error 46 - Access denied

Your application opened a file in read-only mode and attempted to perform an update, delete, or insert on that file. Inconsistent files that are opened in recover mode can be read but not updated. You should build a new files requires an owner name for updates, and you did not specify the correct owner name when you opened the file.


Error 47 - Maximum open files

When a file is opened in accelerated mode, the record manager reserves one of its cache buffers for the file. The number of files opened in accelerated mode cannot exceed the number of buffers available in Btrieve's cache. Btrieve always reserves five empty buffers for index manipulation. Restart the record manager with a larger /M option or a smaller /P option to allocate more buffers.

This status code is returned by pre-v6.x Btrieve


Error 48 - Invalid alternate sequence definition

The first byte in a alternate collating sequence definition, the identification byte, does not containing the hexadecimal value AC.


Error 49 - Key type error

An attempt has been made to define an alternate collating sequence for a binary key or key segment. An alternate collating sequence is only allowed for a string type key or key segment.


Error 50 - Owner already set

An attempt has been made to perform a set owner operation on a file that already has a owner. Use the clear owner operation to remove the previous owner before setting a new one.


Error 51 - Invalid owner

During a set owner operation, this status indicates that the owner names specified in the key buffer and data buffer do not match.

During an open operation, this status indicates that the file you are opening has had an owner name assigned to it. Your application must specify the correct owner name in the data buffer.


Error 52 - Error writing cache

While trying to make a cache buffer available, Btrieve attempted to write data to disk from a file that was previously opened in accelerated mode. The operating system returned an I/O error during the write.


Error 53 - Invalid interface

An attempt has been made to access a file containing variable length records with a language interface from Btrieve version 3 or earlier.

To access files with variable length records, you must use a version 4 interface.


Error 54 - Variable page error

During a step direct operation Btrieve could not read all or part of the variable length portion of a record. In this case Btrieve returns as much data as possible to your application. This error usually indicates file damage to one or more pages in the file.


Error 56 - Incomplete index

A supplemental index is damaged. This can occour if a Create Supplemental Index operation or a Drop Supplemental index operation is interrupted and does not run to completion. You must perform a Drop Supplemental Index operation to completely remove the index from the file.


Error 57 - Expanded memory error

An attempt has been made to access a file containing variable length records with a language interface from Btrieve version 3 or earlier.

To access files with variable length records, you must use a version 4 interface.


Error 58 - Compression Buffer too Short

The applicartion tried to read or write a record that is longer than the value specified for the size of the compression byffer.

Reconfigure the Btrieve Record Manager, specifying a higher value for the "Maximum Compressed Record Size" option.


Error 59 - File Already Exist

This status code is returned for the Cerate operation if uou specified -1 in the key number parameter and rhe name of an existing file in the key buffer parameter.


Error 60 - Reject Count Reached

Brrieve rejected the numner of records specified by the rejecr count before an Extended Get/Step operation found the requested number of records whichsatisfy the filtering condition. Check the fist two bytes of the data buffer returned for the number of records that were retrieved.


Error 61 - Workspace too small

The Extended Get/Step operations use the pre-image buffer as work space. This error code indicates ther rhe work space was not large enough to hold the filtering data buffer structure and the largest record to be received. The size of the workspace is configurable (see th Btrieve Installation and Operation manual for more information).

Check the first two bytes of the data buffer returned for the number of records that were retrieved.


Error 62 - Incorrect descriptor

The descriptor (data buffer structure), which is passed for an extended Get or Step operation, is incorrect.


Error 63 - Invalid Extended Insert Buffer

Extended Insert provides and invalid buffer. Either the buffer length is less than five bytes, or the number of records specified is zero.


Error 64 - Filter Limit Reached

During an Extended Get Next/Previous operation, a rejected record was reached. Furthermore, this rejected record is suche that no other record can satisfy the given filtering condition, going in the direction specified by the operation. This is applicable only if the key specified by the key number is also used as the filetring field.


Error 65 - Incorrect Filed Offset

The filed offset in the extractor of an Extended Get/Step is invalid based on the length of the retrieved record.


Error 74 - Automatic Transaction Abort

This is an informative status code and is applicable onty in the server-based environment. Btrieve replaced a End Transaction Operation with an Abort Transaction because an error had been detected for a TTS file inside the transaction. In addition, Btrieve executed the Abort Transacrion operation.


Error 78 - Deadlock Detected

Btrieve detected a deadlock condition. The application should clear all resources (such as abotring or ending the transaction or releasing all record locks) befote proceeding. This allows the other applications to access the resources for which they are waiting.


Error 80 - Conflict

The update/delete operation cannot be performed because the record has been changed by another station since this station read it. Reread the record to perform the operation.


Error 81 - Lock full

The lock function call to the operating system failed, or the lock table is full. Under the IBM network, Xenix, or a multi-user system, try realoading Bserver, Btrieve, or Bmulti, and specifying a larger number for the /L option.


Error 82 - Lost position

When performing a read next or previous on a key with duplicates, an attempt has begeen made to retrieve a record that has been deleted or whose key value has been deleted or whose key value has been modified by another station. Reestablish positioning using a get equal or a get direct operation.


Error 83 - Read outside transaction

An attempt has been made to delete or update a record within a transaction. If you are going to update or delete a record within a transaction, you must read the record within the transaction to ensure you have first obtained exclusive access to the data.


Error 84 - Recorde in use

An attempt has been made to lock a record that is currently locked by another handle.


Error 85 - File in use

An attempt has been made to open a file, lock a record., or access a record within a transaction while another handle holds the transaction lock on the file or has the file open in accelerated mode.


Error 86 - File full

The file table is full. Specify a larger number for the /F parameter for Btrieve, Bserver, or Multi.


Error 87 - Handle full

The handle table is full. Reload Bserver or Bmulti and specify a larger number for the /H parameter. Another possibility is that the operating system cannot assign a handle. Increase the files parameter in the CONFIG.SYS file.


Error 88 - Mode error

An attempt was made to open a file with an incompatible mode. In the IBM network, Xenix, or multiuser system, if the first handle to access a file opens it in accelerated mode, all others must open it in accelerated mode. The opposite is true for opens made in non- acelerated mode.


Error 89 - Name error

Bserver was loaded before you specified the short name to which the device was redirected. You must specify all sort names that you want to share with the NET SHARE command before you start Bserver.


Error 90 - Device full

The redirection table is full. Reload Bredir and specify a larger number for the /R parameter.


Error 91 - Server error

Bredir cannot establish a session with the server. Either Bserver has not been started for the device controlling the requested file, or no Btrieve files are open on the device. Verify that Bserver files is active on the server to which the device has been redirected.

If you are running a local application on the server, verify that Bredir is loaded on the server. Also verify that the /SES parameter is large enough to support the number of sessions required for the parameter you specified on your NET START command.


Error 92 - Transaction full

The number of active transaction you specified when you loaded BSERVER has been exceeded. Reload BSERVER and specify a larger number for the /T option.


Error 93 - Incompatible lock type

Your application attempted to mix single record lock(+100/+200) and multiple record locks(+300/+400) in the same file at the same time. All locks of one type must be released before a lock of the other type can be executed.


Error 94 - Permission Error

Your application tries to open or create a file in a directory without the proper privileges. Btrieve does not override the network privileges assigned to users.


Error 95 - Session No Longer Valid

This status code is applicable only in the server based environment.

The previously established session was no longer active due to an error at the workstation, the file server, or on the network. Verify that your workstation is still attached to the file server and then reload BREQUEST.


Error 96 - Communications Environment Error

This status code is applicable only in the server-base environment.

This code occurs when loading Btrieve on a NetWare server. The SPX connection table is full. Reload SPX, specifying a higher value for the connection table. See SHELL.CFG in Netware documentation.


Error 97 - Data message too small

The number of active transactions you specified when you loaded Bserver has been exceeded. Reload Bsever and specify a larger number for the /T option.


Error 98 - Internal Transaction Error

This status code is applicable only in the server-base environment. An error has been detected while executing a previous operation on a NetWare TTS file. Therefore, no operation other rhan Abort Transaction (21) is allowed at this point.

btrv_errors.html