![]() ![]() ![]() |
|||
|
Btrieve Status Codes
1: The operation parameter is invalid.The specified Btrieve operation does not exist or is not valid for this version of the MicroKernel.2: The application encountered an I/O error.An error occurred while reading from or writing to the disk. One of the following has occurred:
3: The file is not open.The operation cannot execute because the file is not open. The application must perform a successful Open operation before the MicroKernel can process any other operations. The MicroKernel may also return this status code if the application passed an invalid position block for the file, or if the application passed a position block with a client ID other than the client ID used to open the file.4: The application cannot find the key value.The MicroKernel cannot find the specified key value in the index path. When you receive this status on an update or delete operation, it usually means that the file is damaged and must be recreated. Also, pre v6.x client/server database engines could return this status code if two separate files have different alternate collating sequences (ACSs), but those ACSs have the same name. Never use the same name for different ACSs, regardless of the version you are using.5: The record has a key field containing a duplicate key value.The MicroKernel cannot add or update a record because the record has a key field that contains a duplicate key value for an index that does not allow duplicate values.6: The key number parameter is invalid.The value stored in the key number parameter is not valid for the file being accessed. The key number must correspond to one of the keys defined for the file. Valid key numbers are 0 through 118.7: The key number has changed.The key number parameter changed before a Get Next, Get Next Extended, Get Previous, or Get Previous Extended operation. The operation requires the same key number parameter as the previous operation because the MicroKernel uses positioning information relative to the previous key number. In a related situation, the MicroKernel may return this status code when an application performs a Delete or Update operation immediately following a Get operation. If the application changes the value of the key number in the Delete or Update operation (from the value returned by the preceding Get operation), the MicroKernel deletes or updates the record as requested and will not return Status Code 07, at least not at this point. However, the MicroKernel does return Status Code 07 on the very first Get operation performed after the deletion or update, even if that Get operation uses the same key value the application passed to the Delete or Update operation. If you need to change key numbers between consecutive Get Next, Get Next Extended, Get Previous, or Get Previous Extended operations (or in Delete or Update operations as described in the preceding paragraph), use a Get Position operation followed by a Get Direct/Record operation to reestablish positioning for the new index path.8: The current positioning is invalid.You must establish the current position in order to update or delete a record. Perform a Get or Step operation to establish the current position. The MicroKernel may also return this status code if the application passed an invalid position block for the file.9: The operation encountered the end-of-file. The MicroKernel returns this status code in one of the following situations:
10: The key field is not modifiable.During an Update operation, the application attempted to modify a key field that is defined as nonmodifiable.11: The specified filename is invalid.This status code indicates either that the specified filename does not conform to file naming conventions, or that the pathname is invalid. Make sure the filename or pathname is valid for the environment.Status Code 11 can also have the following meanings in client-server database versions of the MicroKernel:
12: The MicroKernel cannot find the specified file.Check the key buffer parameter to make sure the pathname is terminated with a blank or a binary zero. Also, check to be sure the file exists. When accessing a file on a server, be sure that you have FILE SCAN rights to the directory in which the file resides.13: The MKDE could not open the extension file for an extended file.The pre-v6.0 Btrieve could not find the extension file for an extended file that the application tried to open. Extension files must be loaded on the logical disk drive specified when the extension was created. Both the primary file and its extension file must be on-line to access an extended file.14: The MicroKernel cannot create or open the preimage file.Only pre-v6.0 MicroKernels use pre-image files. The MicroKernel returns this status code in one of the following four situations:
15: The application encountered an I/O error during preimaging.Only pre-v6.0 MicroKernels use pre-image files. This status code indicates that either the disk is full or the pre-image file is damaged. If you receive this status code, proceed as follows: - If the pre-image file is damaged, the integrity of the data file cannot be ensured. - In the client/server environment or in the DOS or OS/2 workstation environments, either use the RECOVER command in the File Manager to retrieve the damaged file's data records in a sequential file, or replace the file with its most recent backup. - In the Windows environment, use the Save command from the Data menu of the File Manager utility to retrieve the damaged file's data records in a sequential file. Be sure to specify no indexes when executing the Save command in this situation. You can also use SQLScope to retrieve records from the damaged file via SQL calls. - If the disk is full, erase any unnecessary files.16: The application encountered an expansion error.Pre-v6.0 Btrieve returns this status code when it encounters an error while writing the directory structure to disk prior to creating the expanded file partition. Either the MicroKernel cannot close the file, or a new page was added to the file and the MicroKernel cannot close and reopen the file to update the directory structure. Check for a disk hardware failure.17: The application encountered a close error.Pre-v6.0 Btrieve returns this status code when it encounters an error while writing the directory structure to disk prior to closing the file. Either the MicroKernel cannot close the file, or a new page was added to the file, and the MicroKernel cannot close and reopen the file to update the directory structure. Check for a disk hardware failure. The MicroKernel may also return this status code if the application passed an invalid position block for the file.18: The disk is full.The MicroKernel can return this status code in the following situations: - The disk is full, and the file cannot be expanded to accommodate additional records. Erase any unnecessary files. If using a pre-v6.0 engine, you can possibly extend the file to gain additional disk space. - There is not enough space to append a new page to the data file. - The pre-image file is out of disk space. If your files are in pre-v6.0 Btrieve format and you are in a transaction, the pre-image file size increases for the duration of the transaction. If you receive this status, either reduce the number of operations in the transaction, or obtain more disk space. - For files located on a NetWare server, the NetWare owner name for the file is no longer valid, and your application tried to insert or update records in the file, thus causing the file to expand. In this case, the MicroKernel returns this status code when it needs to add a page to the file, regardless of how much disk space is available. To check for an owner name, use the NetWare utility NDIR. To add an owner name, use either FILER (a NetWare text utility) or the NetWare Administrator graphical utility. - In some environments, you can limit the amount of disk space available to each user. This status code indicates that the application attempted to expand a data file beyond the amount of disk space allocated to the file's owner.19: The application encountered an unrecoverable error.To ensure file integrity, recover the file as follows: - In the client/server environment, or in the DOS or OS/2 workstation environments, either use the RECOVER command in the Maintenance utility to retrieve the damaged file's data records in a sequential file, or replace the file with its most recent backup. - In the Windows environment, use the Save command from the Data menu of the Maintenance utility to retrieve the damaged file's data records in a sequential file. Be sure to specify no indexes when executing the Save command in this situation. You can also use SQLScope to retrieve records from the damaged file via SQL calls.20: The MKDE or Btrieve Requester is inactive.In the DOS and NetWare environments, you must load the MicroKernel and, if applicable, the Btrieve Requester before generating any requests. By default in the Windows and Windows NT environments, the Setup utility turns on the Local Engine Usage option. To access a client/server MicroKernel engine but not a workstation engine, turn the Local option off and turn the Server option on. To access both workstation and client/server MicroKernels, turn the Server option on and leave the Local option on. Also, in the Windows environment, be sure that the Btrieve for Windows DLLs and MicroKernel executable are in your PATH or in the top level of your Windows directory. In the Windows NT environment, you must start the MicroKernel before generating any requests. Make sure the Windows NT DLLs are in your path. In the OS/2 environment, be sure that the necessary DLLs are in your LIBPATH directory.21: The key buffer parameter is too short.The key buffer parameter is not long enough to accommodate the key field for the requested index path. Verify that the length of the key buffer equals the defined length of the key specified in the key number parameter. Only language interfaces that track the buffer length can return this status code.22: The data buffer parameter is too short.The data buffer parameter is not large enough to accommodate the length of the data record defined when the file was created or the entire record including its variable portion. Verify that the length of the data buffer is at least as long as the file's defined record length. - For Get or Step operations, the MicroKernel returns as much data as it can and a Status Code 22, indicating that it cannot return the entire record. - For an Insert operation, the MicroKernel does not insert the record if the data buffer is shorter than the fixed-length portion of the record. - For an Update operation, if the data buffer is too short to contain the fixed-length portion of a record, the MicroKernel does not update the record. - For the Create operation, the last key defined in the file specification has the segmented attribute set, but has no definition for additional segments. Either remove the segmented attribute for the key or add the definition(s) for the missing segment(s). - For the Create, Stat, and Create Index operations, the data buffer is not long enough to contain all the file specifications, the key specifications, and (if specified) the alternate collating sequence definition(s). - For the Get By Percentage or Find Percentage operation, the data buffer length is less than 4 bytes. - For the Version operation, the data buffer length is less than 5 bytes.23: The position block parameter is not 128 bytes long.Only older language interfaces that track the position block length can detect and return this status code. None of the currently- shipping language interfaces return Status Code 23.24: The page size is invalid.The MicroKernel returns this status code in one of the following situations: - The page size is invalid. The page size must be a multiple of 512 bytes and cannot exceed 4,096 bytes. - During a Create operation, the page size is the first file specification the MicroKernel checks. A Status Code 24 at this point may indicate an invalid data buffer parameter. In pre-v6.1 MicroKernels, the Open operation can return this status code. In this case, the MicroKernel cannot open the file because the file's page size exceeds the Largest Page Size configuration option. To successfully open the file, you must increase the value of the Largest Page Size configuration option and then reload the MicroKernel. The v6.1 or later MicroKernel does not return Status Code 24 from the Open operation.25: The application cannot create the specified file.The MicroKernel can return this status code if an application attempts to create a data file, but the disk directory or the disk itself is full. If the application is creating a file over an existing file, the MicroKernel returns this status code when the existing file is open or when the operating system prevents the operation for some other reason (for example, because the file is flagged transactional). Sometimes pre-v6.0 MicroKernels can return Status Code 25 if the HOLD parameter in NET.CFG or SHELL.CFG is set to ON and the application attempts to create a data file on a network drive. (The HOLD parameter is set to OFF by default.) Creation of the file on a local drive is successful regardless of the value of the HOLD parameter.26: The number of keys specified is invalid.The number of keys specified for the page size is invalid. The number of key segments must be within the following limits:Page Size Max. No. Key Segments 27: The key position is invalid.The specified key field position is less than 1 or exceeds the defined record length for the file. Either the key position is greater than the record length or the key position plus the key length exceeds the record length.28: The record length is invalid.The specified record length (plus overhead for duplicates, record usage count, variable record pointers, key pointers, and blank truncation information) must be less than or equal to the page size minus 6 bytes, and greater than or equal to 6 bytes.29: The key length is invalid.The specified key length must be greater than 0 but cannot exceed 255 bytes. The length of a binary key must be an even number. Each key page in the file must be large enough to hold at least eight keys. If the page size is too small to accommodate eight occurrences of the specified key length (plus overhead), either increase the file's page size or decrease the key length.30: The file specified is not a Btrieve-compatible file.Either the MicroKernel did not create the file, or a pre-v3.x MicroKernel created it. You may also receive this status from earlier versions of Btrieve when you open a file created by a later version, if the file has a format incompatible with the earlier version. This status code can also indicate that the first page of the file is damaged. Use a backup copy of your data file. If you are trying to recover from receiving Status Code 30 and you suspect that the header page of the source file might be damaged, try using the Maintenance utility to create the new data file with a description file.31: The file is already extended.Pre-v6.0 workstation and VAP-based engines return this status code if an application tries to extend a file that has already been extended; you can only extend a file once. An application cannot extend files on a NetWare v3.x or NetWare v4.x server using the MicroKernel NLM. Btrieve v6.x also does not support the extended files feature.32: The file cannot be extended.Pre-v6.0 workstation and VAP-based engines return this status code if an application tries to extend a file that cannot be extended. Possible causes for receiving this status code are that the directory is full, the disk is full, or the disk is write-protected.33: The MicroKernel cannot unload.In the DOS environment, the MicroKernel returns this status code for one of two reasons. First, you may get this status code if you attempt to unload the MicroKernel when you have loaded another terminate and stay resident (TSR) program after you loaded the MicroKernel. Unload the other TSR before unloading the MicroKernel. Second, you may get this status code if you attempt to unload the MicroKernel from a 32-bit application that uses the BSTUB interface with the DOS/4G extender.34: The specified extension name is invalid.Pre-v6.0 workstation and VAP-based engines return this status code if an application specified an invalid filename for the extended partition. Check the validity of the filename.35: The application encountered a directory error.Either a Get Directory operation specified a drive that does not exist, or a Set Directory operation specified an invalid pathname. Check the validity of both the drive and the pathname.36: The application encountered a transaction error.The MicroKernel tried to perform a Begin Transaction operation, although it was not configured to allow transactions. Run the Setup utility and specify a higher value for the Number of Transactions configuration option. Next, stop and then restart the MicroKernel so that your changes will take effect. On a workstation that is running both a workstation MicroKernel and a Btrieve Requester accessing a client/server MicroKernel, be sure that both the workstation database engine and the client/server MicroKernel are configured for transactions. In a client/server environment, all servers running MicroKernel Database Engines to which the workstation is attached must be configured for transactions, even if the files involved in the transaction are only located on one of the servers.37: Another transaction is active.The application issued a Begin Transaction (19 or 1019) or Begin Nested Client Transaction (2019 or 3019) operation while another non-nested transaction was active by the same user or task. You also receive this status code if the application issued a Begin Transaction (19 or 1019) operation while a nested transaction was active.38: The MicroKernel encountered a transaction control file I/O error.Pre-v7.x MicroKernels return this status code if the MicroKernel encountered an error when it tried to write to the transaction control file. Possible causes for receiving this status code are that the disk is full, the disk is write protected, the transaction control file (MKDE.TRN) that is created when you load the MicroKernel has been deleted, or the transaction control file is flagged read-only.39: A Begin Transaction operation must precede an End/Abort Transaction operation.The application issued an End Transaction (20) or Abort Transaction (21) operation without a corresponding Begin Transaction (19 or 1019) operation. Make sure that each End or Abort Transaction operation in your program is executed only after a successful Begin Transaction operation.40: The file access request exceeds the maximum number of files allowed.This status code applies only to pre-v6.0 MicroKernels. The application tried to access more than the maximum number of files allowed within a transaction. The maximum number of different files that can be accessed during a logical transaction is set when the MicroKernel is configured.41: The MicroKernel does not allow the attempted operation.The MicroKernel returns this status code for one of the following reasons: - The application tried to perform an operation that is not allowed at this time. The MicroKernel does not allow some operations under certain operating conditions. For example, the MicroKernel returns this status code if the application attempts to perform a Step operation on a key-only file or a Get operation on a data-only file. - If using a server engine, the key number parameter of a continuous operation MicroKernel call is not 0, 1, or 2. Also, the MicroKernel prohibits certain operations during transactions because they have too great an effect on the file or on performance. These operations include Set Owner, Clear Owner, Extend, Create Index, Drop Index, and Close (for files updated during the transaction).42: A file previously opened in Accelerated mode was not closed.The MicroKernel returns this status code for one of the following reasons: - Either the application tried to open a v5.x data file that was previously accessed in Accelerated mode by a v5.x Btrieve engine and never successfully closed, or the application tried to open a file for which a v6.0 or later MicroKernel encountered an unrecoverable error during a Set or Clear Owner operation. The file's integrity cannot be ensured. In a client/server environment, or in the DOS or OS/2 workstation environments, either use the RECOVER command in the Maintenance utility to retrieve the damaged file's data records in a sequential file, or replace the file with its most recent backup. In the Windows environment, use the Save command from the Data menu of the Maintenance utility to retrieve the damaged file's data records in a sequential file. Be sure to specify no indexes when executing the Save command in this situation. You can also use SQLScope to retrieve records from the damaged file via SQL calls. - Your application tried to open a file in Btrieve v5.x format using a v5.x Btrieve engine; however, that same file was previously accessed by a v6.0 or later MicroKernel, which failed to close the file successfully due to a crash. Version 5.x does not understand the format of a pre-image file created in v6.0 or later format.43: The specified record address is invalid.The MicroKernel returns this status code for one of the following reasons:
44: The specified key path is invalid.The application tried to use the Get Direct/Record operation to establish an index path for a key whose value is null in the corresponding record. The MicroKernel cannot establish positioning based on a null key value. Some earlier versions of the MicroKernel return Status Code 82 in this situation; therefore, write your application to check for both of these status codes.45: The specified key flags are invalid.The key flags specification on a Create operation is inconsistent. If a key has multiple segments, the duplicate, modifiable, and null attributes should be the same for each segment in the key. Also, you cannot use the null or manual key attributes in a key-only file. The MicroKernel also returns this status code if the application attempted to specify a different alternate collating sequence for two or more segments of a segmented key.46: Access to the requested file is denied.The MicroKernel returns this status code for one of the following reasons:
47: The number of files opened exceeds the maximum allowed.This status code is obsolete, but it is documented here for historical purposes. The number of files opened in Accelerated mode exceeded the number of buffers available in the MicroKernel's cache. When a file is opened in Accelerated mode, the MicroKernel reserves one of its cache buffers for the file. It always reserves five empty buffers for index manipulation. With pre-v6.0 workstation Btrieve engines, reconfigure Btrieve both with a smaller /P configuration option (to allocate more buffers) and a larger /M option. You will not encounter this error using either a v6.x or later workstation MicroKernel, or a client/server MicroKernel.48: The alternate collating sequence definition is invalid.The MicroKernel returns this status code for one of the following reasons:
49: The extended key type is invalid.The MicroKernel returns this status code for one of the following reasons:
50: The file owner is already set.The application tried to perform a Set Owner operation on a file that already has an owner. Use the Clear Owner operation to remove the previous owner before specifying a new one.51: The owner name is invalid.The possible causes for this status code are as follows:
52: Error Writing CacheThis status code applies to pre-v6.0 Btrieve. While trying to make a cache buffer available, Btrieve attempted to write data to a disk from a file that was previously opened in Accelerated mode. The operating system returned an I/O error during the write.53: The language interface version is invalid.An application tried to access a file containing variable-length records with a language interface from Btrieve v3.15 or earlier. To access files with variable-length records, you must use a v4.x or later interface. Btrieve can also return Status Code 53 when an application calls BTRVID using a pre-v6.0 MicroKernel with the DOS interface. Pre-v6.0 MicroKernels do not support BTRVID.54: The variable-length portion of the record is corrupt.During a Get or Step operation, the MicroKernel could not read all or part of the variable-length portion of a record. The MicroKernel returns as much data as possible to the application. This status code usually indicates that one or more pages used to store variable-length records are corrupt. Check the data buffer length the MicroKernel returns to see how much of the record was returned.
55: The application specified an invalid attribute for an autoincrement key.The application tried to specify either the segmented or duplicate attribute for an AUTOINCREMENT key type. An AUTOINCREMENT key can only be part of a segmented key if the key number of the AUTOINCREMENT key is less than the key number of the segmented key. An AUTOINCREMENT key cannot allow duplicates.56: An index is incomplete.An index can be damaged if a Create Index operation (31) or a Drop Index operation (32) is interrupted before it runs to completion. Perform a Drop Index operation to completely remove the damaged index from the file, then rebuild the index with the Create Index operation, if desired.57: Expanded Memory ErrorThis status code is obsolete; it applies to pre-v6.0 Btrieve. Btrieve returns this status code if it receives an error from the Expanded Memory Manager. This error usually means that Btrieve was unable to save or restore the memory mapping register context, indicating an incompatibility with another application that uses expanded memory.58: The compression buffer length is too short.The application tried to read or write a record that is longer than the value specified for the size of the compression buffer. Reconfigure the MicroKernel using the Setup utility, specifying a higher value for the Largest Compressed Record Size option.59: The specified file already exists.This status code is returned for the Create operation if the application specified –1 in the key number parameter and the name of an existing file in the key buffer parameter. To overwrite the existing file, remove the –1 from the key number parameter. To preserve the existing file, alter the filename specified in the key buffer parameter.60: The specified reject count has been reached.The MicroKernel rejected the number of records specified by the reject count before a Get Next Extended, Get Previous Extended, Step Next Extended, or Step Previous Extended operation found the requested number of records that satisfy the filtering condition. Check the first two bytes returned in the data buffer for the number of records that were retrieved.61: The work space is too small.The Get Next Extended, Get Previous Extended, Step Next Extended, and Step Previous Extended operations use a buffer as work space. This status code indicates that the work space (set by default to 16 KB) is not large enough to hold the filtering data buffer structure and the largest record to be received. When using v6.15.2 and later MicroKernels, you receive Status Code 0 if the work space is large enough to hold the filter/extraction expression and enough of the record to include all of the fields to be filtered or extracted.62: The descriptor is incorrect.The descriptor (data buffer structure), which is passed for a Get Next Extended, Get Previous Extended, Step Next Extended, or Step Previous Extended operation, is incorrect. The descriptor length (the first two bytes of the data buffer) on the extended operation call must be the exact length of the descriptor. This requirement does not apply to the data buffer length option, which can still be declared longer than necessary. On a Stat Extended operation, the signature field in the data buffer is not set to 0x74537845, the subfunction is not set to 1, or the namespace field in the data buffer is not set to 0. On a Get Direct/Chunk or Update Chunk operation, the descriptor structure in the data buffer is incorrect, or it is inconsistent (either internally or with respect to the data buffer length).63: The data buffer parameter specified on an Insert Extended operation is invalid.An Insert Extended operation provided an invalid buffer. Either the buffer length is less than 5 bytes, or the number of records specified is 0. Correct the buffer length or the number of records.64: The filter limit has been reached.During a Get Next Extended, Get Previous Extended, Step Next Extended, or Step Previous Extended operation, a rejected record was reached; no other record can satisfy the given filtering condition, going in the direction that the operation specified. This is applicable only if the first segment of the key that the key number specified is also used as the first term of the filtering field.65: The field offset is incorrect.The field offset in the extractor of a Get Next Extended, Get Previous Extended, Step Next Extended, or Step Previous Extended operation is invalid based on the length of the retrieved record. Make sure that the field offset is a valid value (from 0 through the record length minus 1).66: The maximum number of open databases has been exceeded.The application has tried to open too many databases configured for referential integrity (RI) checking at one time. See your database product documentation for more information about RI.67: The MicroKernel cannot open the SQL data dictionary files.This status code may indicate that an application opened a data file containing referential integrity (RI) definitions, but the MicroKernel cannot open one of the Scalable SQL or Btrieve data dictionary files (FILE.DDF or RELATE.DDF) or the configuration file (DBNAMES.CFG). A database that uses RI has a database name. You must log in to the database by using the database name. The MicroKernel must be able to find the DBNAMES.CFG file that contains the definition of the database name: - If the database name is defined in the workstation database engine, make sure that the DBNAMES.CFG file is in your Windows directory (for Btrieve for Windows v6.15 or later) or in the directory specified by the "DBNamesDirectory" parameter in the BTI.CFG file (for Btrieve for DOS v6.15 or later). - If the database name is defined on a NetWare server, make sure that DBNAMES.CFG is in the SYS:SYSTEM directory on that server. You can determine the server where the database name is defined by using the Monitor utility. Regardless of whether DBNAMES.CFG is on a workstation or a server, make sure that the FILE.DDF and RELATE.DDF files for the named database are placed in the dictionary location that the DBNAMES.CFG file defines. Refer to your product documentation for more information about referential integrity.68: The MicroKernel cannot perform the RI Delete Cascade operation.The MicroKernel cannot enforce the Delete Cascade rule on a file under referential integrity control because the record that the application attempted to delete has more than 16 levels of descendants. Delete records from the lower levels, and then try again to delete the record that the application was attempting to delete initially. Refer to your product documentation for more information about referential integrity.69: The Delete operation specified a file that is damaged.The application encountered an error while the MicroKernel was attempting to enforce the Delete Cascade rule in response to a Delete operation. This status code indicates that the related file has been damaged and must be recreated. Refer to your database product documentation for more information about referential integrity and the Delete Cascade rule.71: There is a violation of the RI definitions.If you have attempted an Insert operation on a file under referential integrity control, you may receive this status code if a foreign key value in the record to be inserted does not have a corresponding primary key in the referenced file. If you are performing an Update operation, there are two possible causes for this status code: - You attempted to change the value of a primary key. - You attempted to change the value of a foreign key to a value that does not exist for the defined primary key. If you attempted a Delete operation, the restrict rule is being enforced, and a primary key value in the record you are trying to delete references a foreign key in the referenced file. Refer to your database product documentation for more information about referential integrity.72: The MicroKernel cannot open the RI referenced file.The referenced file cannot be found at the location specified by FILE.DDF and DBNAMES.CFG. Be sure that the referenced file is in one of the data file locations that the DBNAMES.CFG file specifies for the named database: - If the DBNAMES.CFG file is defined on a server, verify that the file location does not contain a drive letter. - If the DBNAMES.CFG file is defined in the workstation engine, make sure that the drive letters are the same (and map to the same locations) as specified in DBNAMES.CFG. Refer to your product documentation for more information about referential integrity.73: The RI definition is out of sync.You attempted to open a file for which the referential integrity (RI) definition either disagrees with the definition in RELATE.DDF or refers to a database not found in DBNAMES.CFG. This status code can also occur on an insert or delete operation, or on an update operation that would change a foreign key. If you are using client/server Btrieve or Scalable SQL, run the RIUTIL utility and use the CHECK command. Refer to your client/server product documentation for more information about RIUTIL and RI. If you are using workstation-based Btrieve or Scalable SQL, run the SQLScope utility and use the Check Constraints command under the Database menu. Refer to your product documentation for more information about the SQLScope Check Constraints command and RI.74: The MicroKernel aborted the transaction.This is an informative status code. A pre-v6.0 NetWare-based MicroKernel replaced an End Transaction operation with an Abort Transaction operation after detecting an error for a Transaction Tracking System (TTS) file inside the transaction. The MicroKernel then executed the Abort Transaction operation. Client/server and workstation v6.0 and later MicroKernels do not return Status Code 74 because TTS has a different meaning to the v6.0 and later client/server MicroKernel, and workstation MicroKernels ignore the TTS flag.75: The server routing list is too small.If you use SET BRQPARMS=/S:1 with the Btrieve for OS/2 Requester, this status code occurs after you tried to open a file or to get the version number of NetWare Btrieve. To solve the problem, set /S to 2 or higher. Do not set /S so that it defaults to 1. This status code applies primarily to pre-v6.0 MicroKernels, but you can also receive this status code if there is a data file open that has not been updated to MicroKernel v6.0 or later.76: There is a conflict on the referenced file.The application attempted to perform an Update, Insert, or Delete operation on an RI-controlled file that references another file. The application cannot open the referenced file for referential integrity checking because it is already open in Exclusive mode. Wait until the referenced file is closed or is opened in a mode other than Exclusive, and then retry the operation. Refer to your database product documentation for more information about referential integrity.77: The application encountered a wait error.This is an informative status code. You must retry the operation yourself; the MicroKernel does not automatically retry the operation. A client/server MicroKernel returns this status code in one of the following situations: - The application specified a wait lock bias for an operation, but another user has locked the requested resource. - The application is currently processing a wait transaction and tried to access a file that another user has locked. When you are using the Btrieve Requester to access the MicroKernel, the Requester waits and retries if a requested resource is locked. When a server-based application is accessing the MicroKernel and the requested resource is locked, a wait is also required. In this case, the MicroKernel would be expected to perform the wait. Since this would occupy the MicroKernel and lock out other users who might be trying to release the requested resource, the MicroKernel does not perform the wait. Instead, it returns a Status Code 77, and the server-based application must retry later.78: The MicroKernel detected a deadlock condition.The application should clear all resources (for example, by aborting or ending the transaction or releasing all record locks) before proceeding. This breaks the deadlock, allowing other applications to access the resources for which they are waiting.79: Programming Error.This status code is returned only in pre-v4.0 Scalable SQL engines. For more information, refer to the Scalable SQL Product Update Description.80: The MicroKernel encountered a record-level conflict.The MicroKernel did not perform the Update or Delete operation because of a record-level conflict. For example, station A reads a record, station B reads the same record and updates it, and then station A attempts to update the record. The application should reread the record prior to resending an Update or Delete operation. Alternatively, the application can employ record locks to avoid conflicts. In key-only files, you receive this status code if the record is moved in the file's b-tree after being read and before being updated or deleted. A record may move as a result of other records being inserted, updated, or deleted. In pre-v6.0 workstation MicroKernels, a page-level conflict would also produce this error. For example, station A reads a record, station B reads and updates a different record on the same data page, and then station A attempts to update the record it read. For v5.x files, a conflict can also occur if station A reads a record, station B reads a different record and updates it, causing duplicate pointers to be updated on record A, and then station A tries to update the record.81: The MicroKernel encountered a lock error.The MicroKernel returns this status code in one of the following situations: - The MicroKernel lock table is full. Decrease the number of locks that the application uses, or use the Setup utility to specify a higher value for the Number of Locks option. - The application tried to unlock one record that is locked with a multiple record lock, but the record position stored in the data buffer does not correspond to any record locked in the associated file. - The application tried to unlock a single-record lock with a multiple-record lock or vice-versa. - (Workstation Only) You tried to open a Btrieve v6.0 or later file in Read-only mode on a NetWare drive where you have Read and Filescan rights only. The workstation engine cannot create the .LCK file. You need to obtain Create and Write rights, or redirect the .LCK files to a directory where you have Create and Write rights. - (Workstation Only) You tried to open a file in multi-engine file sharing (MEFS) mode on a local drive, and the DOS SHARE.EXE program is not loaded. Either load SHARE.EXE, or open the file in single- engine file sharing (SEFS) mode. - (Workstation Only) You manipulated a file (you opened and then locked all or part of the file) in MEFS mode on a local drive, and the DOS SHARE.EXE program ran out of locks. Load the SHARE program and specify a higher value for the /L and /F options. - (Workstation Only) You redirected the lock file to a local drive with the /I option, and the DOS SHARE.EXE program is not loaded. - (Workstation Only) You ran out of operating system file handles when the MicroKernel attempted to allocate a file handle to the .LCK file. If you are running in MEFS mode on a network drive, raise the "file handles" setting in the NET.CFG network configuration file for your workstation. - (Workstation Only) You exceeded the maximum number of files while running on a local drive in MEFS mode. Increase the "files=" setting in the CONFIG.SYS file for your workstation.82: The MicroKernel lost positioning.When performing a Get Next or Get Previous operation on a key with duplicates, the application tried to retrieve a record that was deleted or whose key value was modified by another application. Use a Get Equal or a Get Direct/Record operation to reestablish positioning. (See Status Code 44 for a related positioning problem.)83: The MicroKernel attempted to read a record outside the transaction.Pre-v7.0 MicroKernels return this status code if the application tried to update or delete a record within a transaction, but it did not read the record within the transaction. The application must read the record within the transaction before attempting to modify the data.84: The record or page is locked.The application tried to apply a no-wait lock on a record that is currently locked by another application, or the application tried to access a file in a no-wait transaction while another application holds one or more active record locks in that file. This status code can also occur if the application tried to update or delete a record locked by another application. The application can use either of the following recovery methods: - Retry the operation until it is successful. This may be the simplest and quickest solution for a network with light to moderate use. - Use the wait option (+100/+300) instead of the no-wait option (in versions that support the wait option). The MicroKernel may return this status code on an Insert, Update, or Delete operation when it attempts to lock an index page to insert or delete a key value. Have your application check for this status code and retry the operation if the status code is returned.85: The file is locked.The MicroKernel returns this status code in one of the following situations: - The workstation MicroKernel has a file open, and another workstation that has the Requester loaded tries to open the same file via the server MicroKernel. The server MicroKernel cannot open the file since it cannot obtain exclusive access. The workstation that has the Requester loaded receives Status Code 85. - In a workstation environment, a Status Code 85 can occur on an open, insert, update, or delete operation for a file under heavy usage by multiple users or tasks. The MicroKernel must momentarily have exclusive access to the file during these operations, and it retries the operation several times before returning this error. In this case, the application can reissue the operation. - In a workstation environment, a v6.15 or later MicroKernel has a pending modification (insert, update, or delete) as an incomplete system transaction in a file that has been opened in multi-engine file sharing (MEFS) mode. If multiple users or tasks attempt to access (Get/Step) or modify (insert, update, or delete) the shared file, the MicroKernel returns this status code. An access operation can receive this error only if the writing phase of the system transaction has started. If you are a developer and want more information about system transactions and this error, refer to the Btrieve Programmer's Manual. - While one user has a file locked in an exclusive transaction, another user attempts to lock all or part of that file. - When opened by a server MicroKernel, a file is in transition into continuous operation mode. A retry will eventually work. - When opened by a server MicroKernel, two data files have the same filename but different extensions (for example, INVOICE.HDR and INVOICE.DET). One file is open and in continuous operation mode, causing the MicroKernel to generate a delta file (for example, INVOICE.^^^). The MicroKernel returns Status Code 85 if you attempt to open the second file.86: The file table is full.Using the Setup utility, specify a higher value for the Number of Open Files configuration option.87: The handle table is full.Using the Setup utility, specify a higher value for the Number of Handles in CONFIG.SYS. Under Single Engine File Sharing (SEFS), the .LCK files are not opened, so you can open twice as many files in this mode before running out of file handles. The MicroKernel returns Status 87 when you try to open a data file when handles run out under SEFS. To set the number of handles for local files in CONFIG.SYS, enter the value in the FILES= field. The first five handles are reserved for DOS. So, for example, if you set FILES=250, then 245 handles can be opened under SEFS, with a Status 87 returned on the 246th open.88: The application encountered an incompatible mode error.The MicroKernel returns this status code in one of the following situations: - If an application opens a file in Exclusive mode, all other applications get this status code when they try to open the same file in any mode. - If an application opens a file in any mode other than Exclusive, all other applications get this status code when they try to open the same file in Exclusive mode. - (Workstation Only) If a user or task opens a file in multi-engine file sharing (MEFS) mode, all other users or tasks get this status code when they try to open the same file in Exclusive mode. - (Workstation Only) Similarly, if a user or task opens a file in single engine file sharing (SEFS) mode, all other users or tasks get this status code when they try to open the same file in MEFS mode. - (Workstation Only) If a user or task opens a file in Accelerated mode and MEFS is enabled, all other remote users or tasks get this status code when they try to open the same file in any mode. All other local users or tasks get this status code when they try to open the same file in any mode other than Accelerated. - If another workstation has the Requester loaded and has the file open, applications running v6.15 or later MicroKernels get this status code when they try to open the same file in SEFS mode. Using the MicroKernel's continuous operation mode, this status code can also indicate one of the following situations: - You attempted to remove a file from continuous operation, but the file is not in a continuous state. - You attempted to include two files in continuous operation that have the same name but different extensions. - You attempted to include a file in continuous operation, but the file is already in a continuous state.89: Name ErrorThis status code is obsolete; it applies to pre-v5.0 Btrieve. BSERVER was loaded before you specified the short name to which the device was redirected. You must specify all short names that you want to share with the NET SHARE command before you start BSERVER.90: Redirected device table full.This status code only applies to pre-v6.0 client/server Btrieve. The DOS Requester's redirection table or server routing table is full. This occurs if you attach to additional servers or map additional drives after loading the Requester. Reload the Requester, specifying a larger number for either the Number of File Servers (/S) option or the Number of Mapped Drives (/R) option. This error also occurs if you detach from a server and attach to a different server. Once a workstation has attached to a server, the Requester does not remove its name from the server routing table.91: The application encountered a server error.The MicroKernel returns this status code in one of the following situations: - The Requester cannot establish a session with the server. Either the client/server MicroKernel is not loaded or the server is not active. - The setting for the Number of Remote Sessions configuration option is too low. Return to the client/server Setup utility and specify a higher value for this option. - An application specified a path for a file and did not include the volume name in the path. - The Btrieve Message Router (BROUTER.NLM) has not been loaded, and the following situation has occurred: an application that uses both BROUTER.NLM and the MicroKernel to make remote calls (and which therefore includes the server and volume name when performing an Open operation) has attempted to open a remote file. Because BROUTER.NLM does not interpret the server name, the MicroKernel attempts to do so but cannot.92: The transaction table is full.Pre-v7.0 MicroKernels return this status code if the application exceeded the maximum number of active transactions. Using the Setup utility, specify a higher value for the Number of Transactions configuration option.93: The record lock types are incompatible.The application tried to mix single-record locks (+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.94: The application encountered a permission error.The MicroKernel returns this status code in one of the following situations: - The application tried to open or create a file in a directory without the proper privileges. The MicroKernel does not override the network privileges assigned to users. - The designated server is in the server routing table, but your particular workstation is not logged into that server. - Both the served-based and workstation MicroKernels (pre-v6.15) are trying to access the same file at the same time. - The application tried to access a file using NetWare Runtime support with the given username. Specifically, one of the following situations exists regarding the supplied username: - The user is not a valid user on the NetWare Runtime server. (NetWare Runtime is a Novell product that was made available with client/server Scalable SQL v3.00. NetWare Runtime is not available from Btrieve Technologies.) - The user does not have the appropriate rights to access the file. - The username is ADMIN or SUPERVISOR. For security reasons, the MicroKernel does not enable you to use ADMIN or SUPERVISOR as a username when enabling NetWare Runtime support.95: The session is no longer valid.In client/server environments, the previously established session is no longer active due to an error at the workstation, at the file server, or on the network. Verify that the workstation is still attached to the server, and then unload and reload the Btrieve Requester. This status code can also indicate that the client/server MicroKernel has reached the maximum number of sessions. Use the Communication Statistics option of the client/server Monitor utility to see if the MicroKernel has reached the maximum number of SPX sessions. If so, use the Setup Utility to specify a higher value for the Number of Remote Sessions configuration option. In client/server environments, this error could indicate a time delay problem if the workstation does not receive a response back from the server in an appropriate timeframe or after an appropriate number of retries. Refer to your network configuration documentation for information about increasing timeout and retry parameters.96: A communications environment error occurred.You tried to attach to the MicroKernel on a server, but the SPX connection table or the MicroKernel's client table is full. Use the client/server Setup utility to specify a higher value for the Number of Remote Sessions configuration option. An application that calls the MicroKernel can return Status Code 96 in either of the following situations: - Not all of the clients have been properly reset. - You loaded the MicroKernel with a value that is too small for its /s (sessions) parameter. This /s parameter is not the same as the server communications agent's /s parameter. - You are using a limited user count version of the MicroKernel, and it has reached the maximum number of users. In the Windows environment, the v6.15 and later MicroKernel returns this status code if you try to run a Btrieve-based application, but the client table is full. Use the Setup utility to specify a higher value for the Number of Clients configuration option.97: The data buffer is too small.The application either tried to read or write a record that is longer than the current settings for the MicroKernel or the Btrieve Requester allow, as follows: - For an Update, Insert, or Create operation, the application receives this status code if the data buffer length it specifies for the record exceeds the message buffer length. - For a Get, Step, or Stat operation, the application receives this status code if the message buffer is shorter than the length of the data the MicroKernel would return, regardless of the data buffer length specified in the application. - For a Get Chunk or Update Chunk operation, the total size of the retrieved or updated chunk exceeds the message buffer length. In the NetWare environment, the effective message buffer size is the smaller of the values specified for the Largest Record Size option (from the Setup utility, and used by the server communications agent) and the Message Buffer Size (set with the /D option in DOS and OS/2, and with the datalength= setting in the Windows BTI.INI file). You specify these values when you first load the Btrieve Requester. In the Windows NT environment, the effective message buffer size is 64KB. The MicroKernel accepts records up to 64KB regardless of the value you enter for the Communications Buffer Size option in the Setup utility. To avoid receiving Status Code 97, perform one or both of the following steps: - Increase the size of the message buffer by using the Setup utility to specify a higher value for the Largest Record Size option. - Reload the Btrieve Requester and specify a higher value for the message buffer size.98: The MicroKernel detected an internal transaction error.A pre-v6.0 NetWare-based MicroKernel detected an error while executing the operation on a NetWare Transaction Tracking System (TTS) file. The application can perform only an Abort Transaction operation at this point. Client/server and workstation v6.0 and later MicroKernels will not return Status Code 98; TTS has a different meaning for the v6.0 and later server-based MicroKernel, and the workstation MicroKernel ignores the TTS flag.99: Btrieve requester unable to access NetWare Runtime server.A Btrieve Requester returns this status code when NetWare Runtime server support is enabled (/C:1) and the Requester either detects no existing connection or cannot find a valid login username. SUPERVISOR and ADMIN are not valid usernames, even if supplied with the correct password. If the Requester cannot find a login username other than SUPERVISOR or ADMIN, there is no valid name to pass.100: No cache buffers are available.This status code, which can be returned by v6.0 and later MicroKernels, indicates that the MicroKernel has used all the cache buffers it allocated at load time. Use the Setup utility to increase the value for the Cache Allocation configuration option. If you are running a client/server MicroKernel (v6.0 or later), you can also change the Number of Remote Sessions configuration option to decrease the number of concurrent users.101: Insufficient operating system memory is available.This status code, returned by the v6.0 and later client/server MicroKernel, indicates that there is not enough operating system memory available to perform the requested operation. To fix this problem, perform one or more of the following: - Use the Setup utility to decrease the value for the Cache Allocation configuration option. - Use the Setup utility to decrease the value of the Number of Remote Sessions configuration option (thereby decreasing the number of concurrent users). - Add memory to the server. For more information about the configuration options, see Status Code 1002, a similar status code that the Windows-based MicroKernel returns in the same situation.102: Insufficient stack space is available.This status code, returned as a runtime error by the v6.0 and later MicroKernel, indicates that the MicroKernel has run out of stack space. To increase the amount of stack space available to your application, relink the application, setting the stack size to a higher value. The MicroKernel returns this message only to Windows- based applications that call WBTRCALL.DLL, or applications that call the MicroKernel API on the local server.103: The chunk offset is too big.The MicroKernel returns this status code in one of the following situations: - A Get Direct/Chunk operation has specified an offset beyond the end of the record, either explicitly or through the use of the next-in- record bias to the subfunction value. Unless the MicroKernel returns this status while processing the first chunk, the operation was partially successful. Check the data buffer length parameter immediately after the call to see how much data was retrieved (and therefore how many chunks). - An Update Chunk operation has specified an offset that is more than one byte beyond the end of the record. Status Code 103 indicates that the MicroKernel has made no changes to the record. - An Update Chunk operation with an Append subfunction causes a record length to exceed 4GB. The MicroKernel has made no changes to the record.104: The MicroKernel does not recognize the locale.Using a v6.0 or later MicroKernel, the Create or Create Index operation returns this status code to indicate that the operating system was not able to return a collation table for the country ID and code page specified. Make sure that the application specified the locale's country ID and code page correctly and that the operating system is configured to support the country ID and code page.105: The file cannot be created with Variable-tail Allocation Tables -(VATs).Using a v6.0 or later MicroKernel, the application specified that a file should be created in MicroKernel format with Variable-tail Allocation Tables (VATs); however, the application failed to specify that the file was to use variable-length records (a precondition for files to use VATs). This status applies to key-only files as well as to regular data files.106: The MicroKernel cannot perform a Get Next Chunk operation.Using a v6.0 or later MicroKernel, the application called the Get Direct/Chunk operation to retrieve a chunk from a record and used the next-in-record bias on the descriptor subfunction. However, after the application established its positioning in the record (but prior to this call), the target record was deleted.107: The application attempted to perform a chunk operation on a pre- v6.0 file.Using a v6.0 or later MicroKernel, the application tried to use either a Get Direct/Chunk operation or an Update Chunk operation on a file in pre-v6.0 format.109: An unknown error was encountered either creating or accessing a semaphore.The OS/2 workstation engine returns this status code when it tries to perform an operation using an incompatible version of the DLLs. Shut down the MicroKernel and make sure that you are using the most recent version of the DLLs.130: The MicroKernel ran out of system locks.Version 6.x client/server MicroKernels return this status code, which can indicate a temporary condition in which no system locks are currently available. For example: - A single client is performing a very large transaction, in which thousands of records are being modified. - Many clients are performing large transactions concurrently. A client can receive Status Code 130 whether or not it is in a transaction. In some cases, a client can simply retry the failed operation. If other clients have released system locks in the interim, the retried operation may succeed. If a client in a transaction receives Status Code 130, end or abort the transaction. If the transaction is very large, consider breaking it into multiple, smaller transactions. You can also use the Setup utility to lower the number of system locks devoted to explicit locking. To do so, lower the values assigned to the Number of Locks and/or Number of Remote Sessions options.132: File full.The MicroKernel returns this status code in one of the following situations: - An operation attempted to allocate more than 16,777,216 pages to a data file. - A data file has remained in continuous operations for a lengthy period of time, causing its delta file to exceed the operating system limit. - A pre-v7.0 data file has reached the operating system file size limit.133: More than 5 concurrent users attempted to access the same Btrieve-compatible file.In the Scalable SQL or Btrieve Developer Kit for a workstation environment, you attempted to access a data file with more than five MicroKernels at the same time. The Scalable SQL Developer Kit and the Btrieve Developer Kit for workstation environments (i.e., DOS, Windows, etc.) limit the number of concurrent users of a file to five engines.134: The sorting rule definition was not found.The MicroKernel returns this status code in one of the following situations: - While attempting to access a file using an international sorting rule, the MicroKernel could not find or open the SORTRULS.CFG. Verify whether SORTRULS.CFG has been deleted or renamed. If not, the file may have been modified or corrupted. Try opening the file in Read- only mode. - While attempting to access a file using an international sorting rule, the MicroKernel found that the specified international sorting rule does not exist. Check the serial number of the rule in the SORTRULS.CFG file.135: The sorting module was modified.The sorting rule in the SORTRULS.CFG file has been tampered with or modified. Restore SORTRULS.CFG.137: The MicroKernel cannot convert the file format.The file cannot be converted to use extended files. You may receive this status code when attempting to use the Convert operation on pre- v6.0 files or on files with more than 256 records per page.139: The MicroKernel has detected an unacceptable value in the key number.The MicroKernel returns this status code in one of the following situations: - You issued a Create Temporary operation with an invalid key number. You may receive this status code if you specify a key number of -1 or -9 without specifying a name for the temporary file in the key buffer, or if you specify a name that already exists. - You issued a Close Temporary with a key number other than 0 or -1. - You issued a Convert operation with a key number other than 0. - You used a Begin Cursor Transaction operation to start an outer level cursor using a key number other than 1. - You used a Begin Cursor Transaction operation to start an inner level cursor transaction for a file not yet under transaction control using a key number other than 1. - You used an exclusive Begin Cursor Transaction operation to start an inner level cursor transaction for a file already under transaction control using a key number other than 1 or 0. - You used an exclusive Begin Cursor Transaction operation with a key number of zero to put a cursor on the inner level of nesting, but did not specify a reader cursor in the position block. - You used an exclusive Begin Cursor transaction operation with a key number of -1 to move a cursor out one level in nesting, but did not specify an inner level cursor. - You used an exclusive Begin Cursor Transaction operation with a key number of -128 to move a cursor to a non-transactional state, but did not specify an inner level cursor.140: The MicroKernel has detected an incompatible close call.The MicroKernel returns this status code in one of the following situations: - You issued a Close Temporary operation for a file created with the Open operation. To close files created by the Open operation, use the Close operation. - You issued a Close operation for a file created with the Create Temporary operation. To close files created by the Create Temporary operation, use the Close Temporary operation.146: The record has a system defined key field containing duplicate key value.The MicroKernel cannot add or update a record because the record has a system-defined key field that contains a duplicate key value. System-defined key values must be unique.147: Log Segment Missing.The MicroKernel cannot find a log segment that is necessary for rolling forward at least one file.148: A roll forward error occurred.The MicroKernel encountered an error while rolling forward a file. Check the MKDE_LOG.ERR file in the location specified by the Log Segment Directory configuration option for internal roll forward error messages.MicroKernel Database Engine Status Codes for Windows and OS/2 Local Environments1001: The lock parameter is out of range.In pre-v6.0 MicroKernel engines, the specified value for the Multiple Locks configuration option is out of range. The value must be between 1 and 255, inclusive. With v6.15 and later MicroKernels, the value specified for the Number of Locks configuration option is out of range. The value must be between 1 and 64,000, inclusive.1002: A memory allocation error occurred.Make sure that the workstation has enough memory to load all the programs it requires. For workstation version of Btrieve, or workstation requesters, the insufficient memory may apply to conventional memory, expanded memory, or both.1003: An invalid memory size parameter was specified.Make sure the value for the Cache Allocation configuration option is large enough to accommodate the required cache size.1004: A page size error occurred.This error is obsolete; it occurs only in pre-v6.0 workstation engines. The value of the Page Size Configuration option must be an even multiple of 512, and it must be between 512 and 4096, inclusive.1005: The preimage drive parameter is invalid.You must specify a valid drive letter for the Pre-Image/Lock File Drive configuration option. Pre-image files are used only for files pre-v6.0 files, or by v6.0 and later MicroKernels that are loaded with the Create Files in Pre v6.x Format configuration option set to Yes. Lock files are used only for v6.0 and later files opened in MEFS mode.1006: The preimage buffer parameter is out of range.The Pre-Image Buffer Size configuration option must be between 1 and 64, inclusive. The pre-image file is used in pre-v6.0 files and by v6.0 and later MicroKernels that are loaded with the Create Files in Pre v6.x Format configuration option set to Yes.1007: The files parameter is out of range.The Open Files configuration option must be between 1 and 250, inclusive.1008: The initialization parameter is invalid.The specified configuration options contain invalid or unidentifiable values.1009: The transaction filename parameter is invalid.The filename specified for the Transaction Filename configuration option is not valid. Check to make sure that the transaction filename is correct.1010: An error occurred during the access of the transaction control file.Pre-v7.0 MicroKernels return this status code. The following situations can cause the MicroKernel to return this error:
1011: The compression buffer parameter is out of range.The Compression Buffer Size configuration option must be between 1 and 64, inclusive.1012: Invalid /n: optionThis status code is valid only in pre-v6.0 Windows workstation engines. The maximum number of files in a transaction parameter is invalid. Valid values are 0 to 18; the default is 12.1013: The task list is full.In the Windows environment, this status code may be returned if the task entry table is full. You can remedy this situation by increasing the number of available task entries; use the tasks initialization option (tasks=xxx) under the [BTRIEVE] heading in BTI.INI. The minimum value for this option is 1; the maximum value is 64,000. You can also change the setting for the Number of Tasks option using the workstation Setup utility. For more information, refer to the Scalable SQL User's Guide for your environment.1014: Stop warning. The application still has files or transactions active.In the OS/2 environment, the MicroKernel returns this status code when an application calls the BTRVSTOP function while files are still open or while a transaction is still active. The application must close all files and end all transactions before calling BTRVSTOP.1015: One of the pointer parameters passed to the MicroKernel is invalid.One of the pointer parameters passed into the MicroKernel is invalid. The MicroKernel will check for invalid pointers (and therefore only return this message) if you put the following line under the [BTRIEVE] heading in your BTI.INI file: CHKPARMS=YES. By default, the MicroKernel performs no pointer checking.1016: The MicroKernel is already initialized.Pre-v6.0 MicroKernels may return this status code if an attempt is made to initialize the MicroKernel when it is already initialized. To c reinitialize the MicroKernel, close all files, end/abort all transactions, and issue Btrieve operation 25, using the BTRV API before calling the initialization function.1017: The Btrieve requester is unable to find the resource file WBTRVRES.DLL.WBTRCALL.DLL returns this status code when it cannot find the resource file WBTRVRES.DLL. You can remedy this situation by placing a copy of the WBTRVRES.DLL file in the same directory as the WBTRCALL.DLL file.1018: The application attempted to call the MicroKernel (either NTMKDE.EXE or BTRCALL.DLL) from a Btrieve callback function.The Windows MicroKernel does not allow a task to call the MicroKernel (either NTMKDE.EXE or BTRCALL.DLL) from a MicroKernel callback function.1019: The MicroKernel cancelled the current Btrieve operation at the request of the application's Btrieve callback function.The application's MicroKernel callback function returned a nonzero value, indicating that the application wants to terminate the current operation immediately. When the MicroKernel receives such a cancellation request, it attempts to terminate the currently executing operation and ceases to call the callback function for the duration of that operation. The MicroKernel may be unable to cancel the operation. However, if successful in doing so, the MicroKernel returns this status code.1020: Btrieve requester interface communications errorThe MicroKernel loader and requester interface returns this error when it cannot send a message to the MicroKernel. This occurs when Windows is shutting down or when you terminate the MicroKernel using CTRL-ALT-DEL. This is an informational message only. No action is required. Your application continues the shutdown process.Btrieve Requester Status Codes2001: The memory allocation is insufficient.In an OS/2 environment, the Requester cannot allocate enough memory for the parameters specified with the BRQPARMS environment variable. In a DOS environment, reduce the value specified for the /D configuration option.2002: The option is invalid or out of range.In an OS/2 environment, either one of the options specified with the BRQPARMS environment variable is invalid (such as /P instead of /D) or the value specified for a parameter is out of range. Check the SET BRQPARMS statement to make sure it is correct.2003: The Requester does not allow local access to the specified file.The application attempted to access a file stored on a local drive. The version of MicroKernel installed at the workstation does not allow access to local files.2004: SPX is not installed.Install the NetWare SPX v1.3 or later communications software for OS/2.2005: An incorrect version of SPX is installed.Install the NetWare SPX v1.3 or later communications software for OS/2.2006: There is no available SPX connection.SPX has already established the maximum number of sessions it can handle. To increase the maximum, edit the NET.CFG file. Refer to your NetWare documentation for more information about NET.CFG.2007: A pointer parameter is invalid.One of the pointer parameters passed to the MicroKernel is invalid. Check the program to ensure that the pointer parameters are correct. |
|