I think the open file you mentioned may be a problem since my other errors tend to be could not open file - already opened or could not close file - already closed. We must be having some access issues that I am just starting to track down. The should be logged. LOG for more information.
I saw the in the log but didn't know how to interpret the calls, is there somewhere that explains this?
Could you explain the single no wait and could this be caused by a short wait lock timeout? Red Flag This Post Please let us know here why this post is inappropriate. Reasons such as off-topic, duplicates, flames, illegal, vulgar, or students posting their homework. Close Box. Log In Come Join Us! Posting Guidelines Promoting, selling, recruiting, coursework and thesis posting is forbidden.
Thanks RE: btrieve error I'm making the assumption that the error is a Btrieve return code, if so: The application cannot create the specified file.
RE: btrieve error Could this be an issue with the record lock wait time. 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.
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. The MicroKernel returns this status code in one of the following situations: The operation encountered an end-of-file boundary or tried to read past a file boundary end-of-file or start-of-file.
In a Get Next Extended, Get Previous Extended, Step Next Extended, or Step Previous Extended operation, the number of records satisfying the filtering condition is less than the number of specified records to be returned, and the reject count has not been reached.
When reading a file in ascending order according to an index path, the MicroKernel has already returned the last record in that index path. When reading a file in descending order according to an index path, the MicroKernel has already returned the first record in the index path. During an Update operation, the application attempted to modify a key field that is defined as nonmodifiable. 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: The application attempted to open a file that has. This extension is reserved for the MicroKernel to use during continuous operation. Only server engines can use continuous operations. The data buffer for a Begin or End continuous operation is not set up correctly. 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. The pre-v6. 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. Only pre-v6. The MicroKernel returns this status code in one of the following four situations: The MicroKernel cannot create a new pre-image file because the disk directory is full. The MicroKernel must be able to create a pre-image file. The MicroKernel cannot open the pre-image file to restore file integrity.
If the pre-image file is erased or damaged, the MicroKernel cannot restore the file's integrity. 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. The workstation database engine cannot assign a handle to the pre-image file because the MicroKernel was not started by a user with access rights to the pre-image file.
The file structure of a pre-image file created by a v6. If you have an extraneous. PRE file in v5. PRE file belongs. 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.
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 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. Adding an index to the order by or group by column will often resolve this problem. You may receive this error if you just created a column or index, but you are not sure if it was created or not. If you receive this error under such conditions, then you can proceed on the assumption that your initial creation attempt was successful.
You attempted to add a unique index to a column which already contains non-unique values. Check the user permissions and try again. If this problem persists, check with your system administrator. Check your password and try again. If you continue to have problems, check with your system administrator. User-defined function name can contain 1 to 30 characters The length of a user-defined function UDF name must be at least one characher and cannot exceed 30 characters.
Modify the name of the UDF to fit within the name length restrictions. The utility describes the application's understanding of data to the Pervasive. SQL relational interface. A table can contain a logical expression associated with the table.
Such a table filter is referred to as a "push-down filter. Either use a different name, or drop the existing trigger before creating the new one. Either use a different name, or drop the existing stored procedure before creating the new one. The total size of the fixed-length portion of any data record may not exceed bytes.
Status code is returned if you attempt to create a table that exceeds this limit, or if you attempt modifications that would cause a table to exceed the limit. Specify a simple, relative path between characters. Specify a name between characters, using numerals and letters only. It must start with a letter. Specify a password between 1 and 8 bytes. You may use any displayable character in a password except for the semicolon ; and the question mark? Specify a group or user name between 1and 30 characters.
Numerals and letters only. Must start with a letter. Specify a name between characters. Ensure that the following file is located in the proper directory and is the correct version for your product: Windows: MKC.
NetWare: MKC. Linux: libmkc. An index was encountered that is used in the primary key. An index was encountered that is used in the foreign key. Use a different group name. If you just tried to create the specified group, but you tried again because you are not sure if it was created, this error indicates that the group was in fact created with the first attempt. Use a different user name. If you just tried to create the specified user, but you tried again because you are not sure if it was created, this error indicates that the user was in fact created with the first attempt.
Define a primary key before continuing. Specify a page size that is a multiple of and lies in the range , bytes 4, is the default. Specify a free space percentage of 5, 10, 20, or 30 percent.
Specify a page number between , Wait until that user has unlocked the dictionary and try again. Use a different dictionary name or path. Check the table name and try again.
0コメント