In pre-v6. 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. 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. CFG is set to ON and the application attempts to create a data file on a network drive. Creation of the file on a local drive is successful regardless of the value of the HOLD parameter.
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. Key Segments 8 1, 23 1, 24 2, 54 2, 54 3, 54 3, 54 4, 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.
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. The specified key length must be greater than 0 but cannot exceed 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.
Either the MicroKernel did not create the file, or a pre-v3. 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.
An application cannot extend files on a NetWare v3. Btrieve v6. Possible causes for receiving this status code are that the directory is full, the disk is full, or the disk is write-protected. 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. Check the validity of the filename.
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. 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. The application issued a Begin Transaction 19 or or Begin Nested Client Transaction or 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 operation while a nested transaction was active. 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. The application issued an End Transaction 20 or Abort Transaction 21 operation without a corresponding Begin Transaction 19 or operation.
Make sure that each End or Abort Transaction operation in your program is executed only after a successful Begin Transaction operation.
This status code applies only to pre-v6. 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. 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. Also, the MicroKernel prohibits certain operations during transactions because they have too great an effect on the file or on performance. The MicroKernel returns this status code for one of the following reasons: - Either the application tried to open a v5.
The file's integrity cannot be ensured. 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. Version 5. The MicroKernel returns this status code for one of the following reasons: The record address specified for a Get Direct operation is invalid.
Either the address is outside the file's boundaries, or it is not on a record boundary within or on a data page, or the record at the specified address has been deleted.
For a Get Direct operation, specify the 4-byte address obtained by a Get Position operation. If the records' file is in v5. For example, task 1 has a file locked in an exclusive transaction. Task 2 is reading records from the same file and tries to update a record that the transaction inserted. If task 2 reads the record and then task 1 aborts the transaction, task 2 receives this status code when issuing the Update operation.
For a Find Percentage operation that is seeking a percentage based on a record's physical location within the file, the specified record address is invalid. The file may be corrupt, and you must rebuild it. 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.
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.
The MicroKernel returns this status code for one of the following reasons: The application opened a file in Read-only mode and tried to perform an Insert, Update, or Delete on that file. When the application opened the file, it did not correctly specify the owner name required for updates.
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. You will not encounter this error using either a v6. The MicroKernel returns this status code for one of the following reasons: The first byte of an alternate collating sequence definition the identification byte does not contain the hexadecimal value AC for user-defined ACSs or AD for locale-specific ACSs.
Make sure that the first byte contains the proper value. You are running the v6. You attempted to add an index with a locale-specific alternate collating sequence to a file in Btrieve v5. The MicroKernel returns this status code for one of the following reasons: You tried to create a file or an index with an invalid extended key type, or you are trying to assign an alternate collating sequence to a BINARY key or key segment.
You defined an index requiring an alternate collating sequence, but no alternate collating sequence definition exists either in the file or in the key definition passed in the data buffer. You defined an alternate collating sequence with case-insensitivity. These two definitions are incompatible. Only the v6. In v6. You attempted to create a file that contains multiple alternate collating sequences, but the MicroKernel loaded on your server or workstation predates v6.
Only v6. 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.
The possible causes for this status code are as follows: If the application received this status code from a Set Owner operation, the owner names specified in the key buffer and data buffer did not match. The application must specify the correct owner name in the data buffer.
Make sure that the owner name is null-terminated in the data buffer, and that the data buffer length is set long enough to include the owner name plus the null terminator. If an application received this status code when removing a file from continuous operation mode, then the client ID of the calling application differs from the client ID of the application that originally put the file into continuous operation mode.
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.
An application tried to access a file containing variable-length records with a language interface from Btrieve v3. To access files with variable-length records, you must use a v4. 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. In the Windows environment, use the Save command from the Data menu of the Maintenance utility to retrieve as many as possible of the damaged file's data records in a sequential file. 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. 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.
The application tried to read or write a record that is longer than the value specified for the size of the compression buffer. To preserve the existing file, alter the filename specified in the key buffer parameter. 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. 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. 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 0x, the subfunction is not set to 1, or the namespace field in the data buffer is not set to 0.
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. 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. Make sure that the field offset is a valid value from 0 through the record length minus 1. 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. A database that uses RI has a database name.
You must log in to the database by using the database name. You can determine the server where the database name is defined by using the Monitor utility. CFG file defines. Refer to your product documentation for more information about referential integrity. What do I get with a subscription? With your subscription - you'll gain access to our exclusive IT community of thousands of IT pros. We can't always guarantee that the perfect solution to your specific problem will be waiting for you.
If you ask your own question - our Certified Experts will team up with you to help you get the answers you need. Who are the certified experts? How quickly will I get my solution? We can't guarantee quick solutions - Experts Exchange isn't a help desk. We're a community of IT professionals committed to sharing knowledge. Our experts volunteer their time to help other people in the technology industry learn and succeed. Plans and Pricing.
Contact Us. Certified Expert Program. 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. 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. 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.
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. If your files are in pre-v6. If you receive this status, either reduce the number of operations in the transaction, or obtain more disk space.
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. 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.
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. 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. Either remove the segmented attribute for the key or add the definition s for the missing segment s. 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 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 bytes and cannot exceed 4, bytes. A Status Code 24 at this point may indicate an invalid data buffer parameter. In pre-v6. 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.
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. CFG is set to ON and the application attempts to create a data file on a network drive.
Creation of the file on a local drive is successful regardless of the value of the HOLD parameter. 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. Key Segments 81, , , , , , , 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.
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.
The specified key length must be greater than 0 but cannot exceed 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.
Either the MicroKernel did not create the file, or a pre-v3. 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. An application cannot extend files on a NetWare v3. Btrieve v6. Possible causes for receiving this status code are that the directory is full, the disk is full, or the disk is write-protected.
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. Check the validity of the filename.
0コメント