Code MSG
Code MSG
disclaimer
PERVASIVE SOFTWARE INC. LICENSES THE SOFTWARE AND DOCUMENTATION PRODUCT TO YOU OR YOUR COMPANY SOLELY ON AN "AS IS" BASIS AND SOLELY IN ACCORDANCE WITH THE TERMS AND CONDITIONS OF THE ACCOMPANYING LICENSE AGREEMENT. PERVASIVE SOFTWARE INC. MAKES NO OTHER WARRANTIES WHATSOEVER, EITHER EXPRESS OR IMPLIED, REGARDING THE SOFTWARE OR THE CONTENT OF THE DOCUMENTATION; PERVASIVE SOFTWARE INC. HEREBY EXPRESSLY STATES AND YOU OR YOUR COMPANY ACKNOWLEDGES THAT PERVASIVE SOFTWARE INC. DOES NOT MAKE ANY WARRANTIES, INCLUDING, FOR EXAMPLE, WITH RESPECT TO MERCHANTABILITY, TITLE, OR FITNESS FOR ANY PARTICULAR PURPOSE OR ARISING FROM COURSE OF DEALING OR USAGE OF TRADE, AMONG OTHERS. Btrieve and XQL are registered trademarks of Pervasive Software Inc. Btrieve Pro, Built on Btrieve, Built on Scalable SQL, Client/Server in a Box, DDF Ease InstallScout, MicroKernel Database Engine, Pervasive.SQL, Pervasive.SQL 2000, Scalable SQL, Smart Naming, SmartScout, Smart Components, Smart Component Management, Navigational Client/Server, MicroKernel Database Architecture,and Xtrieve PLUS are trademarks of Pervasive Software Inc. Microsoft, MS-DOS, Windows, Windows NT, Win32, Win32s, and Visual Basic are registered trademarks of Microsoft Corporation. Windows 95 is a trademark of Microsoft Corporation. NetWare and Novell are registered trademarks of Novell, Inc. NetWare Loadable Module, NLM, Novell DOS, Transaction Tracking System, and TTS are trademarks of Novell, Inc. All company and product names are the trademarks or registered trademarks of their respective companies.
trademarks
Copyright 1999 Pervasive Software Inc. All rights reserved. Reproduction, photocopying, or transmittal of this publication, or portions of this publication, is prohibited without the express prior written consent of the publisher, unless such reproduction, photocopying, or transmittal is part of a Derivative Software Product as defined in the licenses granted in conjunction with the purchase of this publication and associated software. This product includes software developed by Powerdog Industries. 1994 Powerdog Industries. All rights reserved. The ODBC Driver Manager for NetWare (ODBC.NLM) included in this product is based upon the GNU iODBC software Copyright (C) 1995 by Ke Jin <[email protected]> and was modified by Simba Technologies Incorporated on June 1999. This library is free software; you can redistribute it and/or modify it under the terms of the GNU Lesser General Public License as published by the Free Software Foundation; either version 2 of the License, or (at your option) any later version. This library is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public License for more details. A copy of the GNU Lesser General Public License is included in your installation of Pervasive.SQL 2000 at \PVSW\DOC\LESSER.HTM. If you cannot find this license, write to the Free Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA. You may contact Pervasive Software, Inc. using the contact information on the back cover of this manual.
Pervasive Software Inc. 12365 Riata Trace Parkway, Building II Austin, Texas 78727 USA
Contents
About This Manual . . . . . . . . . . . . . . . . . . . . . . . . .
Who Should Read This Manual? . . . . . . . . . . . . . . . . . . . . . . . Manual Organization . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Conventions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
v
vi vii viii
Status Codes . . . . . . . . . . . . . . . . . . . . . . . . . .
-5040 to -1000 -199 to -100 . . 0 . . . . . . . 1 to 199 . . . . 1000 to 1999 . 2000 to 2099 . 2300 to 2399 . 2900 to 2999 . 3000 to 3099 . 3100 to 3199 . 7000 to 7099 . 8000 to 8499 . 8500 to 8589 . 8590 to 8599 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
1-1
1-3 1-9 1-15 1-16 1-62 1-67 1-69 1-74 1-81 1-88 1-93 1-100 1-105 1-108
Messages . . . . . . . . . . . . . . . . . . . . . . . . . . . .
(No prefix). . BDROUTER BREQUEST. BREQUTIL . BROUTER . BSPXCOM . BTCPCOM . BUTIL . . . . MKDE . . . . NWBSRVCM UCINIT . . . UCMGR. . . UCUTIL . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
2-1
2-3 2-6 2-8 2-11 2-12 2-13 2-16 2-20 2-29 2-53 2-55 2-57 2-65
Contents iii
Manual Organization
The following list briefly describes each chapter in the manual:
Chapter 1Status Codes This chapter lists and explains each status code you may receive. A brief description follows each code. The status codes are listed in numeric order. Some status codes listed in this chapter refer to engines and utilities for environments other than your own. Status codes are returned by API calls.
Chapter 2Messages This chapter lists and explains the numbered and non-numbered text message you may receive. The messages are categorized by the application or component that generates them. Some messages listed in this chapter refer to engines and utilities for environments other than your own.
Conventions
Unless otherwise noted, command syntax, code, and examples use the following conventions: CASE Commands and reserved words typically appear in uppercase letters. Unless the manual states otherwise, you can enter these items using uppercase, lowercase, or both. For example, you can type MYPROG, myprog, or MYprog. Words appearing in bold include the following: menu names, dialog box names, commands, options, buttons, statements, etc. Monospaced font is reserved for words you enter, such as command syntax. Square brackets enclose optional information, as in [log_name]. If information is not enclosed in square brackets, it is required. A vertical bar indicates a choice of information to enter, as in [file name | @file name]. Angle brackets enclose multiple choices for a required item, as in /D=<5|6|7>. Words appearing in italics are variables that you must replace with appropriate values, as in file name. An ellipsis following information indicates you can repeat the information more than one time, as in [parameter ...]. The symbol ::= means one item is defined in terms of another. For example, a::=b means the item a is defined in terms of b.
Bold
Monospaced font [ ]
chapter
Status Codes
This chapter describes the status codes and messages generated by any of the components of Pervasive.SQL. Status codes are not the same as numbered messages (see Chapter 2, Messages); messages are returned to end users by utilities or specific components and generally begin with a prefix and a number. For example: MKDE16: There is insufficient memory to load the MicroKernel Database Engine. Status codes are returned to an application making a Pervasive.SQL interface call. The application determines whether or not to display the status code to the user. Applications will often display status codes in addition to helpful messages about a problem that has occurred, but the application developer determines this. Many utilities provided with Pervasive.SQL use transactional and relational access interfaces, and they may therefore return status codes as well as utility-specific messages. Some messages include references to status codes.
The status codes appear in numeric order. Table 1-1 lists the numeric ranges for each type of code. Table 1-1 Status Code Ranges
Range -5040 to -1000 199 to 100 0 1 to 199 1000 to 1999 2000 to 2099 2300 to 2399 2900 to 2999 3000 to 3099 3100 to 3199 7000 to 7099 8000 to 8499 8500 to 8589 8590 to 8599 Type of Code SQL Relational Database Engine Status Codes Informative Status Codes Successful Interface Completion Status Code MicroKernel Database Engine Status Codes MicroKernel Status Codes for Windows and DOS Workstations Btrieve Requester Status Codes Named Database Status Codes Inscribe Status Codes MicroKernel Router Status Codes Network Services Layer Status Codes User Count Manager Status Codes Component Management Status Codes ECAS Interface Status Codes W3DBSMGR Status Codes
Note This chapter may refer to utilities, products, or platforms that are not part of your product distribution.
-5040 to -1000
SQL Relational Database Engine Status Codes
The following table lists status codes returned by the SQL Relational Database Engine (SRDE).
Table A-2
Status Code -1031 -1032 -1038 -1039 -1040 -1041 -1044 -1045 -1047 -1051 -1060 -1064 -1101 -1102 -1104 -1105 -1113 -1114 -1202 -1203 -1204 -1206 -1207 -1301 -1302
Description File locking unavailable File access denied Buffer is too small SeekLE or SeekGE didn't find exact match Too many columns defined All the keyset columns are null in the table Filename is invalid Invalid bookmark Data buffer doesn't match column size Index is in use Can not append long value Can not build key for this sort order Can not begin session Write lock failed due to outstanding write lock Invalid session handle Commit lock failed due to outstanding read lock Too many active sessions Invalid session option Database in use, can't detach No such database Invalid database name Non-db file or corrupted db Database exclusively locked open an empty table Table is exclusively locked
Status Code -1303 -1304 -1305 -1309 -1310 -1311 -1402 -1403 -1404 -1501 -1504 -1505 -1506 -1507 -1508 -1511 -1512 -1513 -1514 -1515 -1516 -1517 -1601 -1603 -1605
Description Table already exists Table is in use, cannot lock No such table or object No DDLs w/o exclusive lock Invalid table id Can not open any more tables Primary index already defined Index is already defined No such index Column value is long Null not valid Column indexed, cannot delete Field length is > maximum No such column Field is already defined Invalid column data type Max length too big, truncated Can not index Bit, LongText, LongBinary No non-NULL tagged fields Invalid w/o a current index The key is completely made Column Id incorrect The key was not found Currency not on a record Illegal duplicate key
Status Code -1608 -1609 -1612 -1613 -1804 -1805 -1806 -1807 -1808 -1809 -1811 -1901 -1902 -1903 -1905 -1907 -2001 -2002 -2003 -2004 -2065 -3012 -3600 -4000 -4001
Description No call to DrmMakeKey No call to DrmInitUpdate References to key exist No referenced key exists Database file can't be opened Too many open databases Db file could not be closed Too many files open No space left on disk Permission denied File not found Failed sysdb on beginsession Invalid logon at beginsession Invalid account name Invalid password Access denied Filter not supported Push-down join was discarded Push-down filter was discarded Push-down filter accepted, keep index optimization No available buffers; or, queue is full Bin file open Cursor wrapped during fast find Table invalid format Too few columns
Status Code -4002 -4003 -4004 -4005 -4006 -4007 -4008 -4009 -4010 -4011 -4099 -4106 -4107 -4108 -4109 -4110 -4111 -4112 -4113
Description Invalid ODBC ini entry File open error File read error Invalid schema ini entry Index file open error Tag name error Create index error Invalid DB list Invalid argument Bin file open error Sendsize too small Comm buffer too small More data Invalid IDX Invalid direction The specified DSN does not exist. A DSN already exists with this name. Login failed. An error occurred during the initialization of the Windows Sockets Interface. The request to SQL Connection Manager to obtain the list of connected users failed. The request to SQL Connection Manager to kill the specified list of connections failed. UNDONE: Paradox: Report to Pervasive Record locked UNDONE: Paradox: data truncated
-4114
-4115
Status Code -5004 -5007 -5008 -5011 -5019 -5020 -5021 -5022 -5040
Description Table is not open Currency lost - must seek Invalid date I-ISAM: options were ignored translation failed... Invalid procedure name Invalid predicate name Invalid Code Page value Warning: too many columns
-199 to -100
Informative Status Codes
This section lists the informative status codes that the MKDE can return. The MKDE returns these codes as negative values.
the MKDE made the change you requested. However, if you issued a SET OPENMODE, SET OWNER, or SET ISOLATION statement during a transaction, the change does not take effect until you start a new transaction.
108: The statement contains unresolved substitution variables and cannot be executed.
The current SQL statement contains substitution variables; you cannot execute the statement until you supply values for each variable. If you are using an application that allows substitution variables, refer to the documentation included with the application to determine how to use them with that application. If you are a developer using the MKDE interfaces to execute the statement, perform the following steps: 1. 2. Supply values for the variables using the XQLSubst function. Use the XQLExec function to verify the substitution values and, if the statement is not a SELECT statement, to execute the statement. If the statement is a SELECT statement, use the XQLFetch function to fetch the data.
3.
Operations that create or change dictionary definitions. Therefore, you cannot roll back the results of the following statements: ALTER TABLE, CREATE DICTIONARY, CREATE GROUP, CREATE INDEX, CREATE PROCEDURE, CREATE TABLE, CREATE TRIGGER, and CREATE VIEW. Operations that remove dictionary definitions. Therefore, you cannot roll back the results of the following statements: DROP DICTIONARY, DROP GROUP, DROP INDEX, DROP PROCEDURE, DROP TABLE, DROP TRIGGER, and DROP VIEW. Operations that grant or revoke security rights. Therefore, you cannot roll back the results of the following statements: GRANT (access rights), GRANT CREATETAB, GRANT LOGIN, REVOKE (access rights), REVOKE CREATETAB, and REVOKE LOGIN.
For a ROLLBACK TO SAVEPOINT statement, any changes made since the savepoint was declared are rolled back.
the MKDE successfully recalled the specified stored statement in the XQLCompile statement buffer, indicating that you can now execute the stored statement. Perform the following steps: 1. Execute the statement using the XQLExec function. the MKDE executes each statement within the stored statement until it finds either a SELECT statement or no more statements. 2. If the MKDE finds a SELECT statement, use the XQLFetch function to fetch the data. If you just retrieved data with XQLFetch, use XQLExec to continue executing the statements in the stored statement.
3.
0
Successful Interface Completion Status Code
Any interface call can return the following status code.
1 to 199
MicroKernel Database Engine Status Codes
This section describes status codes that the MicroKernel returns.
The file is damaged, and you must recover it. Refer to the Pervasive.SQL Users Guide for more information about recovering a file. In NetWare, at least one MicroKernel data file is flagged as Shareable. All MicroKernel data files should be flagged as Non-Shareable. The MicroKernel is the only user that accesses the files (on behalf of many users). As the only user, the MicroKernel can control the integrity of the data files. If you flag your MicroKernel data files as Shareable, data corruption can occur. For pre-v6.0 data files, there is a large pre-image file inside a transaction, and there is not enough disk space for a write to the pre-image file. For pre-v6.0 data files, there is one pre-image file for multiple data files. For example, if you name the data files CUSTOMER.ONE and CUSTOMER.TWO, both files have pre-image files named CUSTOMER.PRE. For pre-v6.0 data files that are larger than 768 MB, there is a conflict among locking mechanisms. The file has not been corrupted. Your application can retry the operation until the conflict is resolved (when the competing application releases the lock your application requires). A pre-v6.0 Btrieve engine attempted to open a v6.x or later MicroKernel file.
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 or filter limit 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. When using the Get By Percentage operation, either the value supplied for the percentage is too highit exceeds 10,000 decimal (0x2710)or the file contains no records.
The application attempted to open a file that has .^^^ as its extension. This extension is reserved for the MicroKernel to use during continuous operation. (Only server engines can use continuous operation.) The data buffer for a Begin or End continuous operation is not set up correctly. You attempted to load a remote file when your Communications Requester settings of Local and Requester are incorrectly set to Yes and No, respectively. To resolve this condition, run the appropriate Setup utility and change the Requester setting to Yes. For more information on the Setup utility, refer to the Pervasive.SQL Users Guide.
This error code may also be returned when the file DBNames.CFG has been removed (for example, by Pervasive.SQLs cleanup utility) and old Data Source Names (DSNs) which reference that file are not removed from the ODBC.
13: The MicroKernel could not open the extension file for an extended file.
The MicroKernel could not open the extension file for an extended file that the application tried to open. For v7.0 and later MicroKernels, an extended file can consist of a base file and up to 15 extension files. Extension files must remain in the same volume and directory as their base files. The MicroKernel returns this status code if you delete, move, or rename the extension files. For pre-v6.0 MicroKernels, 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.
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 files integrity. Refer to the Pervasive.SQL Users Guide for more information about recovering damaged files. The workstation MicroKernel 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.0 or later MicroKernel is different from the file structure of a pre-image file created by a v5.x MicroKernel. If you have an extraneous .PRE file in v5.x format and you are using a v6.0 or later MicroKernel, the MicroKernel returns this status code when you try to open the data file to which the .PRE file belongs.
If the pre-image file is damaged, the integrity of the data file cannot be ensured. Refer to the Pervasive.SQL Users Guide for more information about recovering damaged files. If the disk is full, erase any unnecessary files.
The disk is full, and the MicroKernel cannot expand the file to accommodate additional records. Erase any unnecessary files. If using a pre-v6.0 MicroKernel, 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. Status Codes 1-21
The pre-image file is out of disk space. If your files are in pre-v6.0 format and you are in a transaction, the pre-image file size increases for the duration of the transaction. If you receive this status code, 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 restrict 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 files owner. You tried to read or modify a file which was not closed properly after a disk full error. Make sure that every application that used the file at the time of the disk full error closed the file successfully. If a client connected to a Pervasive server encounters Status 18, other clients performing read-only operations from the same disk may also receive a non-zero status (18 or 2).
If you are running an application in a client/server environment and also need to access files located on a local drive, ensure that you enable both Local and Server access and that the local MicroKernel is available. By default in the Windows and Windows NT environments, the Setup utility enables the Local Engine Usage option. To access a server engine but not a workstation engine, turn the Local option off and turn the Server option on. To access both workstation and server MicroKernels, enable both the Server option and the Local option. Also, in the Windows environment, ensure that the Btrieve for Windows DLLs and MicroKernel executable are in your path or in the Windows system directory. Ensure that you do not have multiple copies of WBTICOMM.DLL or WBTRCALL.DLL installed on the same machine. In the Windows NT server environment, you must start the MicroKernel before generating any requests. Ensure that the Windows NT DLLs are in your path. Also ensure that the appropriate communications modules are loaded at the server.
For Get or Step operations, the MicroKernel returns as much data as it can and this status code, 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, 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 ACS definition. 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.
This status code can also indicate a corrupt file if the file allows variablelength records and you receive this status code on a Get or Step operation. In such a corrupt file, you can receive Status Code 54 when you use Get or Step operations to read other records. Recover the file according to the instructions in the Pervasive.SQL Users Guide.
The page size you specified when creating a file is invalid. The page size must be a multiple of 512 bytes and cannot exceed 4096 bytes. During a Create operation, the page size is the first file specification the MicroKernel checks. A Status Code 24 at this point can 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 files 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 this status code from the Open operation.
If the MicroKernel is configured to create files in v5.x format, the maximum number of key segments is 8 for files using 512 byte page sizes; the maximum number of key segments for all other v5.x files is 24. For a key-only file, this status code is also returned if the number of keys specified is not one, or the avaliable linked keys is not zero (only one key is allowed for a key-only file.)
For key-only files, the maximum record length is 253 bytes (255 bytes for a pre-v6.0 file).
You attempted 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. You attempted to unload the MicroKernel from a 32-bit application that uses the BSTUB interface with the DOS/4G extender.
define no more than 253 savepoints to be active at one time. This limit may be further reduced by triggers that contain additional INSERT, UPDATE, and DELETE statements. If your operation reaches this limit, you must reduce the number of savepoints or the number of atomic statements contained within it. Version 6.x MicroKernels return this status code if the MicroKernel tried to perform a Begin Transaction operation, but it was not configured to allow transactions. Use the Setup utility to specify a higher value for the Number of Transactions configuration setting. Next, stop and then restart the MicroKernel so that your changes take effect.
On a machine that is running both a workstation MicroKernel and a Btrieve Requester accessing a client/server MicroKernel, ensure that both the workstation MicroKernel and the client/server MicroKernel are configured for transactions. In a client/server environment, all servers running MicroKernels to which the client machine is attached must be configured for transactions, even if the files involved in the transaction are only located on one of the servers.
40: The file access request exceeds the maximum number of files allowed.
This status code is obsolete in MicroKernel versions 6.0 and later. The application tried to access more than the maximum number of files allowed within a transaction. You set the maximum number of different files that you can access during a logical transaction when you configure the MicroKernel.
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. If using a server engine, the key number parameter of a continuous operation MicroKernel call is not valid.
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, Create Index, and Drop Index.
Either the application tried to open a v5.x data file that was previously accessed in Accelerated mode by a v5.x MicroKernel 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 files integrity cannot be ensured. Refer to the Pervasive.SQL Users Guide for information about recovering damaged files. Your application tried to open a file in MicroKernel v5.x format using a v5.x MicroKernel; however, that same file was previously accessed by a v6.0 or later MicroKernel, which failed to close the file successfully and left a pre-image file on the disk. Version 5.x MicroKernels cannot read pre-image files created in v6.0 or later format.
The record address specified for a Get Direct operation is invalid. Either the address is outside the files 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.x format, this status code can indicate a file access conflict. 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 records physical location within the file, the specified record address is invalid. The file may be corrupt, and you must recover it. Refer to the Pervasive.SQL Users Guide for information about recovering damaged files.
The application opened a file in Read-only mode and tried to perform a Write operation on that file. The application attempted to perform a Write operation on a file that is flagged read-only by the operating system. When the application opened the file, it did not correctly specify the owner name required for updates. (Workstations Only) If a workstation engine user or task opens a file that client machine has opened using a server MicroKernel, the MicroKernel returns this status code if the workstation engine user attempts to write to the file.
Pre-v6.0 workstation MicroKernels return this status code when the number of files opened in Accelerated mode exceeded the number of buffers available in the MicroKernels 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. Reconfigure Btrieve with both a smaller /P configuration option (to allocate more buffers) and a larger /M option (to increase the cache allocation).
The first byte of an ACS definition (the identification byte) does not contain the hexadecimal value AC (for user-defined ACSs), AD (for locale-specific ACSs), or AE (for international sorting rules support). Make sure that the first byte contains the appropriate value. You are running a pre-v6.0 MicroKernel, and you attempted to add an index with a locale-specific ACS to a file in v5.x format. Pre-v6.0 files do not support locale-specific ACSs. You are running the v6.0 or later MicroKernel with the Create File Version option set to v5.x, and you attempted to create a file that contains a key with a locale-specific ACS. Pre-v6.0 files do not support locale-specific ACSs.
You tried to create a file or an index with an invalid extended key type, or you are trying to assign an ACS to a BINARY key or key segment. You can assign an ACS only to a STRING, LSTRING, or ZSTRING key type. You defined an index requiring an ACS, but no ACS definition exists (either in the file or in the key definition passed in the data buffer). You attempted to create a key segment with both the Case Insensitivity and the Alternate Collating Sequence flags set, and the MicroKernel is configured to create files in v5.x format. This combination is invalid for v5.x files. You attempted to create a file that contains multiple ACSs, but you are running a pre-v6.1 MicroKernel. Only v6.1 and later MicroKernels support multiple ACSs.
You are running the v6.x or later MicroKernel with the Create File Version option set to v5.x, and you attempted to create a file with a NUMERICSA or NUMERICSTS key. Pre-v6.0 files do not support these key types. You set the default file creation format to v6.x, but you are using one of the new Pervasive.SQL 2000 data types, such as CURRENCY or TIMESTAMP, which require the v7.x file format.
If the application received this status code from a Set Owner operation, the owner names specified in the key buffer and data buffer do not match. If this status code occurred during an Open operation or a DROP TABLE statement, the application attempted to open a file that has an owner name assigned to it. The application must specify the correct owner name in the data buffer. Ensure 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. (Version 7.0 and later MicroKernels return Status Code 88 in this instance.)
Btrieve for DOS returns this status code if it receives an error from the Expanded Memory Manager. This status code usually means that the MicroKernel was unable to save or restore the memory mapping register context, indicating an incompatibility with another application that uses expanded memory.
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.
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. You can receive this status code when the number of records to be retrieved, which is specified in the data buffer of the extended operations, is greater than the number of records present in the Btrieve file that satisfy the filter condition.
67: The MicroKernel cannot open the SQL data dictionary files.
The MicroKernel returns this status code for one of the following reasons:
An application attempted to use a data file that is bound to a the MKDE database, but the MicroKernel could not open one of the MKDE data dictionary files (FILE.DDF or, if the file has RI definitions, RELATE.DDF) or the configuration file (DBNAMES.CFG). You attempted to create a file with the Replace option, and a bound the MKDE data file with the same name and location already exists. However, the MicroKernel could not open the MKDE data dictionary file FILE.DDF, or the configuration file (DBNAMES.CFG).
If the data file has RI definitions, the DBNAMES.CFG file must be in the location you specified using the Setup utility; you determine the location of DBNAMES.CFG by using the Database Names Directory option for the MicroKernel. Also, ensure that FILE.DDF and RELATE.DDF (if the file has RI definitions) are in the locations specified by the database's configuration. Refer to the Pervasive.SQL Programmers Guide for more information about RI.
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 enforced, and a primary key value in the record you are trying to delete references a foreign key in the referenced file. Refer to the Pervasive.SQL Programmers Guide for more information about RI.
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 for a workstation engine, make sure that the drive letters are the same (and map to the same locations) as specified in DBNAMES.CFG.
Refer to the Pervasive.SQL Programmers Guide for more information about RI.
You tried to open a data file that is bound to a the MKDE database, and the database to which the file is bound was not found in the DBNAMES.CFG file. You tried to open a data file with RI definitions that is bound to a the MKDE database, and the table to which the file is bound was not found in the database's FILE.DDF file, or the table's location and filename does not match the file's location and filename as configured in the DBNAMES.CFG or FILE.DDF file. You attempted to modify a bound file, and the RI definition for that file disagrees with the definition in the RELATE.DDF file. You can also receive this status code on an Insert or Delete operation, or on an Update operation that would change a foreign key, if the file related to this file is out of sync (an attempt to open or modify the related file would have returned this same status code). You attempted to create a file with the Replace option, and a bound the MKDE data file with the same name and location already exists. However, the MicroKernel detected that the existing bound file was out of sync (that is, an attempt to open the existing file would have returned this same status code).
Check the RI constraints on your database. For information about how to do this, refer to the Pervasive.SQL Users Guide.
This is an informative status code. A 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.
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 serverbased application is accessing the MicroKernel and the requested resource is locked, a wait is also required. In this case, the MicroKernel is expected to perform the wait. Because 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 this status code, and the server-based application must retry later.
The application tried to unlock a 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 multiplerecord lock or vice-versa. Status Codes 1-41
(Workstation Only) You tried to open a v6.0 or later file in Read-only mode on a NetWare drive on which you only have Read and Filescan rights. The MicroKernel cannot create the .LCK file. You must obtain Create and Write rights or redirect the .LCK files to a directory on which you have Create and Write rights. This directory must be shared by all users of a single datafile. For example, if two users are sharing a data file located at \\example\stats1:\test\file.btr and the lock files are redirected to C:\, then file sharing problems occur due to the users not sharing a single lock file directory. (Workstation Only) You tried to open a file in MEFS mode on a local drive, and the DOS SHARE.EXE program is not loaded. Either load SHARE.EXE or open the file in 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. Reload 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 are running in MEFS mode, and you ran out of operating system file handles when the MicroKernel attempted to allocate a file handle to the .LCK file. Refer to your operating system documentation for instructions about configuring your operating system to allow more file handles. In pre-v7.x MicroKernels, the 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.
83: The MicroKernel attempted to update or delete a record that was read outside the transaction.
This status code is obsolete in MicroKernel versions 7.0 and later. The MicroKernel returns 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.
Retry the operation until it is successful. This can 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 can 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. On Btrieve for NetWare, you can receive status 84 when running an application on a Win95 client if the NetWare operating system runs out of record locks. To solve this, increase the "maximum record locks per connection" and, if necessary, the "maximum record locks" (system wide limit) on the NetWare server.
The workstation MicroKernel has a file open, and client machine that has the Requester loaded tries to open the same file via the server MicroKernel. The server MicroKernel cannot open the file because it cannot obtain exclusive access. The client machine that has the Requester loaded receives this status code. In a workstation engine environment, the MicroKernel can return this status code 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 status code. In this case, the application can reissue the operation. In addition, you can reconfigure the workstation MicroKernel with a lower Operation Bundle Limit and Initiation Time Limit to reduce the amount of time the MicroKernel keeps a lock on the file. Refer to the Pervasive.SQL Users Guide for more information on how to do this. 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 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 status code only if the writing phase of the system transaction has started. Reconfiguring the MicroKernel with a lower Operation Bundle Limit and Initiation Time Limit reduces the occurrences of file contention that produce this status code. Refer to the Pervasive.SQL Users Guide for more information about using the setup utility to reconfigure the MicroKernel. If you are a developer and want more information about system transactions, refer to the Pervasive.SQL Programmers Guide.
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. Retrying eventually works.
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 this status code when you attempt to open the second file. When opened by a Windows NT server MicroKernel using Microsoft File and Print Services for NetWare on behalf of a Win16 Windows client, the file was also opened simultaneously by a Win32 Windows NT or Windows 95 machine. This causes the server MicroKernel to open the same physical file using two different paths.
If an application opens a file in Exclusive mode, all other applications receive 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 receive 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 MEFS mode, all other users or tasks using the same MicroKernel receive this status code when they try to open the same file in SEFS mode. (Workstation Only) Similarly, if a user or task opens a file in SEFS mode, all other users or tasks using the same MicroKernel receive 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 receive this status code when they try to open the same file in any mode. All other local users or tasks receive this status code when they try to open the same file in any mode other than Accelerated. If another client machine has the Requester loaded and has the file open, applications running v6.15 or later MicroKernels receive this status code when they try to open the same file in SEFS mode.
Using the MicroKernels 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 Continuous Operation mode. You attempted to remove a file from continuous operation, but a different client placed the file into continuous operation. 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 continuous operation.
The Requester cannot establish a session with the server. Either the client/server MicroKernel is not loaded or the server is not active. The SPX drivers are not installed or are outdated. The value for the Number of Sessions configuration option is too low. Use the Setup utility to 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 has not been loaded, and the following situation has occurred: an application that uses both the Btrieve Message Router 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 the Btrieve Message Router does not interpret the server name, the MicroKernel attempts to do so but cannot.
A communication or network addressing problem exists in your network environment, so the MicroKernel requests never reach their destination server address. Ensure that your client and server network components are up to date and certified for your network environment. For NetWare servers only:
the Maximum Packet Receive Size configuration option is inappropriate for your environment. For example, the setting should be 1500 for an Ethernet LAN or 4096 for a Token-Ring LAN. The user count limit has been exceeded. Either close a session or upgrade your user count. For more information about purchasing and installing additive user counts, refer to the Pervasive.SQL Users Guide. Ensure that the NDS network number is the same as the Internal Network Number viewed by BINDER.EXE output. You ran BUTIL.NLM to roll forward a file using a log filename other than the default, and your BLOG.CFG file did not contain a correct entry such as \dir\file.ext=vol:\dir\log.ext.
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 client is not logged into that server. The system data source name (DSN) on the server has an error in the pathname to the data files. Both the server-based and workstation MicroKernels (pre-v6.15) are trying to access the same file at the same time. A NetWare 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. 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.
When using the Win32 Requester from a Windows NT or Windows 95 client machine to a NetWare server, you must use the same username for logging in to both the client machine and the NetWare server. You cannot be logged in to NetWare as SUPERVISOR or ADMINISTRATOR. When using the Win32 Requester from a Windows NT or Windows 95 client machine using NetWare emulation to a Windows NT server, the server cannot use Microsoft File and Print Services for NetWare. This causes the requester to attempt authentication as though the server were a NetWare Runtime server. It is recommended that you keep the default Requester setting of Yes on FPNW servers running Pervasive.SQL. You may receive a Status Code 94 if you change this setting to No when you are running the Btrieve Interface locally on the FPNW server and are using a local FPNW drive mapping or local FPNW UNC path.
The previously established session is no longer active due to an error at the client machine, at the server, or on the network. Verify that the client machine is still attached to the server, and then unload and reload the Btrieve Requester. The server MicroKernel has reached the maximum number of SPX sessions. Use the Monitor utility to check this statistic. Use the Setup utility to specify a higher value for the Number of Sessions configuration option. This status code could indicate a time delay problem if the client machine 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. This is often necessary in a WAN environment or a LAN configuration with heavy network traffic. For NetWare servers:
Verify that the Maximum Packet Receive Size configuration option is appropriate for your environment. For example, the setting should be 1500 for an Ethernet LAN. Ensure that the SPX timeout parameters are set as follows in both the client machines NET.CFG file and the servers SPXCONFG.NLM file:
SPX VERIFY TIMEOUT=54 SPX LISTEN TIMEOUT=108 SPX ABORT TIMEOUT=540
These three values must have a 1:2:10 ratio. You can increase these values to at most three times the default. If you continue to receive this status code after increasing these values, the problem is most likely not related to these settings.
For Windows NT servers, verify that the Maximum Packet Size registry setting is 576 decimal or 240h. The path to the MaxPktSize registry setting is HKEY_LOCAL_MACHINE\System\currentControlSet\ Services\NwInkIPX\NetConfig\MaxPktSize. If you continue to receive this status code after increasing the network timeout parameters, this status code usually indicates a problem with network communications. Verify that you have up to date network cards and drivers; for example, incompatible LAN card drivers can also cause this status code to occur. Consult your LAN administrator for network communication troubleshooting.
You tried to attach to the MicroKernel on a server, but the SPX connection table or the MicroKernels client table is full. Use the Setup utility to specify a higher value for the Number of Remote Sessions configuration option. An application that calls the MicroKernel can return this status code for the following reasons:
Not all of the clients have been properly reset. You loaded the MicroKernel with a value that is too small for its Active Clients setting. Use the Setup utility to increase the Active Clients configuration option. You are using a limited user count version of the MicroKernel, and it has reached the maximum number of users. The DBNAMES.CFG file contains a named database definition specifying a data location on a different server.
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 Active Clients configuration option. Refer to the Pervasive.SQL Users Guide for information on the Active Clients option. You attempted to connect to a Btrieve v6.10 server using a Win32 Btrieve v7.0 requester. This combination is not compatible and is therefore prevented by design.
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.
For information about configuring the message buffer size, refer to the Pervasive.SQL Users Guide. To avoid receiving this status code, perform one of the following steps:
Increase the size of the message buffer by using the Setup utility to specify a higher value for the Communications Buffer Size option.
For local files, the setting is MicroKernel Database Engine/Memory Resources/Communications Buffer Size. For remote files, the setting is Btrieve Communications Manager/ Server Communications Configuration/Communications Buffer Size.
DOS Requesters only: Reload the Btrieve Requester and specify a higher value for the message buffer size. This is done using the /D parameter which is documented in Getting Started With Pervasive.SQL . For Windows NT servers, verify that the Maximum Packet Size registry setting is 576 decimal or 240h. The path to the MaxPktSize registry setting is HKEY_LOCAL_MACHINE\System\currentControlSet\ Services\NwInkIPX\NetConfig\MaxPktSize.
99: The Btrieve Requester is unable to access the NetWare Runtime server.
The Btrieve Requester returns this status code when you enable NetWare Runtime server support 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. This error is also returned if you try to access a server with the NetWare Runtime server support disabled and you do not have an existing connection to that server.
Use the Setup utility to decrease the value for the Cache Allocation configuration option. Add memory to the server.
For more information about the configuration options, see Status Code 1002: A memory allocation error occurred. , a similar status code that the Windows-based MicroKernel returns in the same situation. Status Codes 1-53
A Get Direct/Chunk operation specified an offset beyond the end of the record, either explicitly or using the next-in-record bias to the subfunction value. Unless the MicroKernel returns this status code 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 specified an offset that is more than one byte beyond the end of the record. This status code 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 its operating system file size limit. The MicroKernel has made no changes to the record.
105: The file cannot be created with Variable-tail Allocation Tables (VATs).
Version 6.0 and later MicroKernels return this status code when an application tries to create a file with Variable-tail Allocation Tables (VATs) but without variable-length records (a precondition for files to use VATs). This status code applies to key-only files as well as to regular data files.
110: The MicroKernel cannot access the archival logging configuration file.
The archival logging configuration file (BLOG.CFG) contains entries for the data files on the drive for which you want to perform archival logging. The MicroKernel returns this status code for the following reasons:
The MicroKernel cannot find the BLOG.CFG file. Ensure that the file is in the \BLOG directory in a real root directory of the physical drive that contains data files you want to log. (That is, do not use a mapped root directory.) If your files are on multiple volumes, you must create a \BLOG directory on each volume. The MicroKernel cannot open the BLOG.CFG file. Either the file is locked or it does not exist. The MicroKernel cannot read the BLOG.CFG file. Either the file does not use the correct format or it is corrupt. Refer to the Pervasive.SQL Users Guide for information about the format of the BLOG.CFG file.
111: The specified filename was not found in the archival logging configuration file.
The MicroKernel cannot find the specified file in the BLOG.CFG file. The file must be specified in the BLOG.CFG file on the same physical drive.
113: The MicroKernel cannot find the archival log for the specified file.
The MicroKernel cannot find the archival log file associated with the specified file. By default, the MicroKernel names the archival log file the same as the logged file, but with a .LOG extension. However, you can specify a different filename for the archival log file in the BLOG.CFG file. Ensure that the BLOG.CFG file indicates the correct filename for the archival log and ensure that the archival log file exists.
115: The MicroKernel cannot access the archival logging dump file.
The MicroKernel cannot access the archival logging dump file for one of the following reasons:
The filename indicated for dumping entries in an archival log is not a valid filename. Be sure this filename does not contain a volume specification. The dump file is created on the same volume as the log file. The caller does not have access rights to the dump file.
The MicroKernel cannot open the file because another user has opened the file using an exclusive operating system lock.
116: The file is owned by another Microkernel engine acting as a Gateway. 130: The MicroKernel ran out of system locks.
This status code is obsolete in MicroKernel versions 6.15 and later. This status code can indicate a temporary condition in which no system locks are currently available. The following are example cases:
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 this status code 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 this status code, 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 Sessions configuration options.
An operation attempted to allocate more than 16,777,216 pages to a data file. A data file has remained in continuous operation for a lengthy period of time, causing its delta file to exceed the operating system limit. A pre-v6.15 data file has reached the operating system file size limit.
133: More than 5 concurrent users attempted to access the same data file.
In the Pervasive.SQL Developer Kit for a workstation environment, you attempted to access a data file with more than five MicroKernels at the same time. The Pervasive.SQL Developer Kit for workstation environments limits the number of concurrent users of a file to five engines.
The ISR is not found in the COLLATE.CFG file. The COLLATE.CFG file is missing or corrupt. The MicroKernel cannot read the ISR from the COLLATE.CFG file.
136: The MicroKernel cannot find the specified Alternate Collating Sequence in the file.
The MicroKernel returns this status code in the following situations:
You tried to create an index that uses an ACS, but the MicroKernel cannot locate an ACS with the specified name in the file. You called a Step Next Extended, Get Next Extended, Step Previous Extended, or Get Previous Extended operation and specified an ACS name, but the MicroKernel cannot locate an ACS with the specified name in the file.
In order to ensure accessibility to your data from all of the Pervasive.SQL access methods, the NULL indicator segment (NIS) must appear immediately before the data segment that the NIS indicates. Otherwise, status 138 is returned.
139: The MicroKernel has detected an unacceptable value in the key number.
Certain Btrieve operations either use, or reserve the use of, the key number parameter as a subfunction number, rather than as a means to specify a files index to be used with the operation (as is done, for example, in the Get Equal operation). This status code is returned if an application does not specify a valid subfunction number (via the key number parameter) to one of these operations. For information about acceptable values for the operations key number parameter, consult the section in the Btrieve Programmers Guide that documents the operation that returned this status code.
143: The MicroKernel cannot allow unauthorized access to files in a secure the MKDE database.
You attempted to open a data file bound to a the MKDE database that has security enabled. The MicroKernel does not allow access to such files, except through the MKDE. The MicroKernel also returns this status code if you are not using the MKDE and all of the following are true:
You attempt to create a file with the Replace option. A bound the MKDE data file with the same name and location already exists. The database to which the existing file is bound has security enabled.
The NetWare MicroKernel displays the message on the servers system console and writes the message to the Pervasive Event Log (PVSW.LOG), which resides in SYS:\SYSTEM. The Windows 95 and Windows NT workstation MicroKernel displays the message in the console message window and writes the message to the Pervasive Event Log (PVSW.LOG), which is located in the WINDOWS\SYSTEM or WINNT\SYSTEM32 directory. The Windows NT server MicroKernel does not display a message, but writes the message to the Pervasive Event Log (PVSW.LOG) in the WINNT\SYSTEM32 directory.
161: The maximum number of user count licenses has been reached.
You attempted to open another session when you were at the limit of your user count license. Either close a session or upgrade your user count. For more information about purchasing and installing additive user counts, refer to Getting Started With Pervasive.SQL . You can use the Monitor utility to determine which users currently have connections to Pervasive.SQL. For information about the Monitor utility, refer to the Pervasive.SQL Users Guide.
162: The client table is full. Try increasing the number of Active Clients in the MicroKernel Database Engine System Resource setting.
You receive this status code when your setting for Active Clients in the Configuration utility is set too low, causing Pervasive.SQL to exhaust its client table space.
4. 5.
6. 7.
The name you specified for a new index already exists as an index name or column name in the dictionary. Specify a unique name for the index.
1000 to 1999
MicroKernel Status Codes for Windows and DOS Workstations
The workstation MicroKernel engine returns the following status codes in Windows and DOS environments.
1010: An error occurred during the access of the transaction control file.
This status code is obsolete in MicroKernel versions 7.0 and later.
The MicroKernel is unable to create, open, read, or write to BTRIEVE.TRN or MKDE.TRN. Set the TRNFILE setting in the BTI.INI file to C:\.
The MicroKernel returns this status code if you attempt to initialize the MicroKernel when it is already initialized. To reinitialize the MicroKernel, close all files, end/abort all transactions, and issue Btrieve operation 25, using the BTRV interface 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. Place the WBTRVRES.DLL file in the same directory as the WBTRCALL.DLL file.
1018: The application attempted to call the MicroKernel from a Btrieve callback function.
The Windows MicroKernel does not allow a task to call the MicroKernel from a Btrieve callback function. You can only use the callback function with Btrieve for Windows.
1019: The MicroKernel cancelled the current Btrieve operation at the request of the applications Btrieve callback function.
The applications 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.
2000 to 2099
Btrieve Requester Status Codes
This section lists the status codes that the Btrieve Requesters generate.
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 configuration of the MicroKernel installed at the client machine does not allow access to local files.
2010: Thunk not possible - the Win32 MicroKernel router could not be found or is incompatible.
You receive this status code when the system is configured for thunking and the path is not accessible. This can occur if a necessary system file cannot be found (for example, kernel32.dll). It can also occur if the required system calls (for example, Win32s library) are not available.
2300 to 2399
Named Database Status Codes
This section lists the status codes you can receive when using the named database features of the Pervasive.SQL 2000 engine.
2301: The database name is invalid. 2302: Invalid buffer length. 2303: The database name must be unique; the specified database name already exists.
While creating a database, you specified a database name that already exists in the DBNAMES.CFG file. Specify a different, unique name for the database, or remove the existing database name first.
2304: The database type is invalid. 2305: The specified path for data dictionary or data file locations is invalid.
The path you specified for the bound, named database is invalid or the paths you specified for the data file locations are invalid. Ensure that the entered paths are either UNC paths or local paths (a local path for a NetWare server would be volume:path) and then retry the operation. Paths that contain mapped drive letters are not allowed.
2308: The specified RI flag is invalid. 2309: The database is in use. 2312: The bound database cannot share table data files.
You cannot bind a data file referenced by a table in a bound, named database to another named database, or to another table in the same named database. For more information about bound databases, refer to the Pervasive.SQL Programmers Guide.
2314: Cannot create DBNAMES.CFG file. 2316: Cannot create DDF files for the bound database.
Pervasive.SQL cannot create the database files for the bound database. Ensure that the data dictionary files do not already exist at the specified location. Remove any existing data dictionary files before creating the bound, named database. For more information about bound databases, refer to the Pervasive.SQL Programmers Guide. 1-70 Status Codes and Messages
2326: Data dictionary files are bound, but do not need to be bound.
This status code is returned when an unbound named database is checked. This does not indicate an invalid, or corrupted, named database, but does indicate an inconsistency between the named database definition and the actual state of the database. This status code often indicates a situation in which the data dictionary files have been restored from a backup that was made when the database was bound. Either restore the data dictionary from a backup that is consistent with the bound state of the database, or bind and then unbind the database. The unbinding of the database removes the binding information from the data dictionary files.
2330: Data file for a table is bound, but does not need to be bound.
This status code is returned when an unbound, named database is checked. This does not indicate an invalid, or corrupted, named database but does indicate an inconsistency between the named database definition and the actual state of the database. This status code often indicates a situation in which the data files for the database was bound. Either restore your data files from a backup that is consistent with the bound state of the database, or bind and then unbind the database. The unbinding of the database removes the binding information from the data files if the binding information is no longer needed.
2331: Not allowed to change data dictionary location and change name at the same time. 2332: Not allowed to bind database and change name at the same time. 2333: Not allowed to unbind database and change name at the same time. 2334: Not allowed to create data dictionary and change name at the same time. 2335: Not allowed to change data locations and change name at the same time. 2336: Not allowed to change data dictionary location and bind database at the same time. 2337: Not allowed to change data dictionary location and unbind database at the same time. 2338: Not allowed to change data dictionary location and create data dictionary at the same time. 2339: Not allowed to create data dictionary and bind database at the same time.
2340: Not allowed to create data dictionary and unbind database at the same time. 2341: Not allowed to bind database and change data locations at the same time. 2342: Not allowed to unbind database and change data locations at the same time. 2343: Named database general error.
2900 to 2999
Inscribe Status Codes
This section lists the status codes you can receive when using the Inscribe engine.
2902: An attempt to create an internal thread within the Inscribe Interpreter failed.
When EPCall executes procedures, internal resources (or threads) are allocated for those procedures. This status code indicates that an attempt to perform this allocation for a procedure failed. Verify that you have sufficient available memory for Inscribe to run.
2903: An attempt to kill an internal thread within the Inscribe Interpreter failed.
When EPCall executes procedures, internal resources (or threads) are allocated for those procedures. Once the procedures complete execution, those resources are freed, or killed, so other procedures can use them. This status code indicates that an attempt to perform this deallocation for a procedure failed. This error should not affect active applications; the effect of this status code is that a small amount of allocated memory is not freed. 1-74 Status Codes and Messages
2906: A request was made to execute an Inscribe procedure, but no procedure with the specified name was found.
You used the EPCall interface to execute a procedure, but when EPCall attempted to locate the procedure in the database specified in the EPLogin call, the search failed. If you receive this status code, check the following:
Because different procedures are associated with different databases, verify that the database name specified in EPLogin is correct. Verify that the procedure name passed as a parameter to EPCall is spelled correctly. Because you use the Inscribe Developer Kit to install the modules containing the procedures into a database, verify that you installed the modules correctly.
2908: The type or number of the arguments passed to an Inscribe procedure does not match the type or number of the parameters defined for that procedure.
You used the EPCall interface to execute a procedure, but when EPCall compared the number and types of the arguments passed to EPCall with the number and types of the parameters defined for the procedure, it found one or more conflicts. Correct any discrepancies between the number and types of the parameters defined for the procedure and the arguments that you passed to EPCall.
2909: An error was encountered building the argument vector to be passed to an Inscribe procedure.
You used the EPCall interface to execute a procedure, but when EPCall processed the arguments passed in to EPCall, Inscribe attempted to convert the input information into an argument vector usable by the Inscribe procedure and then detected an error. Verify that the input argument information is in the correct format. For example, you must specify the DATE, TIME, and TIMESTAMP data types in a particular format when you pass them to EPCall. Also verify that you have sufficient available memory for Inscribe to run; Inscribe uses additional memory for some parameter types.
2910: An error was encountered extracting values from the argument vector returned by an Inscribe procedure.
You used the EPCall interface to execute a procedure, but when EPCall processed the argument vector returned to EPCall after the procedure completed, Inscribe attempted to process an output argument and detected an error. When a string argument is returned from an Inscribe procedure, a buffer is provided by the function that called EPCall to store the string. Inscribe returns this status code when the buffer is too small to hold the string. Check all output string arguments and verify that sufficient space is provided to hold all output values. 1-76 Status Codes and Messages
2912: The Inscribe Interface encountered an error setting the internal instance flags that specify execution characteristics for the Inscribe Interpreter.
The Inscribe Interface sets certain instance flags, such as flags for multithreading, to allow the Inscribe Interpreter to run correctly in a particular environment. Inscribe returns this status code when an attempt to set these instance flags fails. If you receive this status code, the Inscribe Interpreter (WINSIA32.DLL, WINSIA16.DLL, or NWINSIA.NLM) may be corrupt. Try reinstalling it.
2913: The amount of available memory is less than that needed for Inscribe to run.
The operating system has insufficient memory for Inscribe to run. Terminate other applications to make additional memory available.
2915: The database specified as an argument to the EPLogin interface is not a valid database.
The string passed to EPLogin representing the database may be invalid. In Inscribe 1.0, if the string is valid, Inscribe was unable to access and read the databases EPMAP.TXT file to get information about the Inscribe procedures defined for that database. Verify that the database name is correct. If it is correct, verify that the Inscribe Developer Kit was used to create an EPMAP.DDF file for the database that contains information about the Inscribe procedures associated with that database.
2917: The credential specified by the caller when Inscribe was initialized does not match the credential specified when Inscribe was terminated.
The Inscribe credential passed as an input argument to EPDeInit is not a valid Inscribe credential. Verify that the Inscribe credential that was specified as an input argument to EPInit is the same one that is used as the input argument to EPDeInit.
2918: An error was encountered deregistering a callback function in EPCallback, or an error was encountered in EPCall specifying a callback function for use by the Inscribe Interpreter.
If EPCallback returns this status code, then the callback function specified in the fCallback parameter does not match the currently registered callback. If EPCall returns this status code, then there was an error establishing this callback function as the one for the Inscribe Interpreter to use. For EPCallback, verify that the fCallback parameter contains the correct value. (Callbacks must be deregistered in the reverse order in which they were registered.) For EPCall, verify that the callback function specified in EPCallback is a valid pointer to a callback function.
2919: While logged in with the same Inscribe login ID, an attempt was made to execute an Inscribe procedure before a previous Inscribe procedure completed.
When logged in with the same Inscribe login ID, only one Inscribe procedure can be executed at a time so that callback functions can be handled correctly. Typically, Inscribe only returns this status code in multi-threaded applications. If you need multiple threads to concurrently execute Inscribe procedures, then have each thread perform its own separate EPLogin call to get a unique login ID. Do not try to share the same login ID among multiple threads.
2920: An attempt was made to call an Inscribe Interface interface function, but Inscribe has been disabled in the users environment.
A call was made to the EPVersion interface to get version information for an Inscribe component, but an invalid value was passed in the flags argument. Verify that the value you set in the flags argument is correct.
Disk errors. Presence of modules compiled with Inscribe v1.0. (Any modules created with Inscribe v1.0 are not compatible with Inscribe v2.0 and must be recompiled with Inscribe v2.0.) Another application that overwrote some of the modules.
Recreate the Inscribe modules by recompiling them in a SBL Developer Tool and copying them to the database directory.
2922: The Inscribe engine encountered a duplicate procedure name when processing an Inscribe module.
Inscribe modules are .SBX files, which you produce by compiling an Inscribe script using the SBL Developer Tools and then copy to a database directory. The procedure names within these modules must be unique so that Inscribe can uniquely determine which Inscribe procedure to invoke for a particular the MKDE external procedure name. Examine the Inscribe modules to find the duplicate names, change the names to avoid the conflict, then recompile the modules in a SBL Developer Tool and copy them to the database directory. Status Codes 1-79
Note The main procedure can appear in multiple modules without causing this status code, because main procedures are intended for debugging with the SBL Developer Tools and are ignored by the Inscribe engine. Similarly, private procedures that appear in multiple modules can have the same name, because private procedures are also ignored by the Inscribe engine.
3000 to 3099
MicroKernel Router Status Codes
This section lists the status codes you can receive from the MicroKernel router, which receives requests from the Btrieve requesters and routes them to the correct version of the MicroKernel.
The application is trying to use a position block for a file that resides on an engine and for which the connection has been previously terminated via a B_STOP (25) or B_RESET (28) operation. The application is trying to use a position block for a file that resides on a remote server and that encountered an abnormal network error on a previous operation.
3011: Thunk not possible - the Win32 MicroKernel router could not be found or is incompatible.
This status code is only relevant to the Win16 MicroKernel router. You receive this status code when the Use Thunk option is set to Yes and the thunk path is not accessible. Possible causes include:
The Win32 MicroKernel Router DLL does not exist or is not compatible. The Win32s routines failed to initialize.
3013: The remote engine is inaccessible to the MicroKernel router because the networking component is not loaded.
Access to the remote engine is not possible because the MicroKernel router could not initialize the networking component. Possible causes include:
The Remote option is incorrectly set to No. The required networking component could not be found or is not compatible.
The target network operating system is not available. The target engine is not available. In a Windows 3.x environment, you are using a shared drive name that contains a space. To resolve the condition, remove the space from the shared drive name. For example, if you connect to a server named D Drive, change the share name to D_Drive.
Specify a higher value for the Communications buffer size parameter in the Setup utility. Use smaller buffers in Btrieve operations.
3022: The MicroKernel router could not send the request to the remote engine because the specified data buffer length resulted in a data packet object that is too large.
A request to the MicroKernel router specified a data buffer length that resulted in a data packet size greater than 64 KB, which is the maximum. This can occur even if the data buffer length for the request is smaller than 64 KB because the MicroKernel router adds some packet overhead as it forms the data packet. Check the Pervasive Event Log (PVSW.LOG) for more information.
3100 to 3199
Network Services Layer Status Codes
The following status codes originate from the Pervasive Network Services Layer (PNSL).
No common communication protocol is available between the server and the client. To check this, use the Setup utility to check the Supported Protocols setting of the requester (under Communications Requester section) and the server (under Btrieve Communications Manager and the MKDE Communications Manager sections). Ensure that there is a common protocol (either SPX or TCP/IP) between the server and the requester. For Windows NT: The MicroKernel engine not running. For NetWare:
The Server Addressing Protocol (SAP) filtered out the server name. SAP is used in NetWare 3.x and can be used in version 4.x. This type of filtering is common in WAN environments. NWCALLS.DLL and/or NWIPXSPX.DLL is missing when using the Win16 client. This is especially likely if the Win32 clients are functioning but the Win16 clients do not. These are NetWare system files that can be obtained from Novells web site (http://www.novell.com).
For NetWare using TCP/IP: The server name is not in DNS. For Windows NT Server: Named pipes are used in these two operating systems to resolve server names. The networking at the operating system level was unable to find the target named pipe.
Verify that you have access to the inter process communication mechanism. Ensure that your passwords are identical if you have the same user name on two systems.
3105: No available transport protocol for the Pervasive Network Services Layer.
No transport protocol that is common to both the target server engine and clients is available. For example, Status Code 3105 could be caused by a client using SPX when the server engine only has TCP/IP available. To check this, use the Setup utility to examine the Supported Protocols setting of the client (under the Communications Requester section) and the Supported Protocols setting of the server (under the Btrieve Communications Manager and the MKDE Communications Manager sections). For more information on the Setup utility, refer to the Pervasive.SQL Users Guide.
The Btrieve or the MKDE is not running on the server. The network is overloaded. The connection path is invalid.
You have more than one mapped drive to the same server. You are trying to access a Btrieve engine on a Windows NT server and the Accept Remote Requests setting of the Btrieve Communications Manager on that server is set to No. See the Pervasive.SQL Users Guide for more information.
Check the Pervasive Event Log (PVSW.LOG) for more information if you receive this status code.
3114: The routing table of the Pervasive Network Services Layer is full.
The Pervasive Network Services Layers Server Routing Table is full. This table normally grows dynamically as needed. Verify that you are not in a low memory condition.
The application attempted to open a file that has .^^^ as its extension. This extension is reserved for the MicroKernel to use during continuous operation. (Only server engines can use continuous operation.) The data buffer for a Begin or End continuous operation is not set up correctly. You attempted to load a remote file when your Communications Requester settings of Local and Requester are incorrectly set to Yes and No, respectively. To resolve this condition, run the appropriate Setup utility and change the Requester setting to Yes. For more information on the Setup utility, refer to the Pervasive.SQL Users Guide.
3125: The Pervasive Network Services Layer was unable to resolve the Novell Directory Services name into a NetWare server name.
The Pervasive Network Services Layer was unable to resolve the Novell Directory Services name into a NetWare server name. This occurs on Windows 95 workstations with the Microsoft Service for Novell Directory Services in cases where the system is unable to load the Windows 95 Requester support modules. Ensure that the Requester Win95 support modules are installed and available, and that NWCALLS.DLL is available on the Windows 95 workstation.
3126: The Pervasive Network Services Layer was unable to resolve the given filename into a valid path.
Check that the given filename is a valid file format.
7000 to 7099
User Count Manager Status Codes
This section lists the status codes you can receive when using the User Count Manager.
7003: The User Count Manager cannot write to the key file.
For a description of this status code, refer to the message UCMGR405: Error writing to user count key file, (errno=nn). .
7004: The User Count Manager cannot write to the specified file.
For a description of this status code, refer to the message UCMGR406: Error writing to file, file = filename, (errno=nn). .
7005: The User Count Manager cannot read the key file.
For a description of this status code, refer to the message UCMGR408: Error reading from user count key file, (errno=nn). .
7006: The User Count Manager cannot read the specified file.
For a description of this status code, refer to the message UCMGR409: Error reading from file, file = filename, (errno=nn). .
7008: The User Count Manager cannot open the specified file.
For a description of this status code, refer to the message UCMGR404: File open error, file = filename, (errno=nn). .
7009: The User Count Manager cannot modify the specified file.
For a description of this status code, refer to the message UCMGR403: File change mode error, file = filename, (errno=nn). .
7010: The User Count Manager cannot find the specified file.
For a description of this status code, refer to the message UCMGR402: Invalid file pathname = path, file = filename, (errno = nn). .
7011: You cannot increase the user count with the same key number twice.
For a description of this status code, refer to the message UCMGR305: Duplicate key number error. You cannot increase the user count with the same key twice. .
7014: The User Count Manager is already in use. Try again later.
For a description of this status code, refer to the message UCMGR501: The User Count Manager is busy. Only one instance of the User Count Manager can be in use at one time. .
7016: The User Count Manager cannot read the specified file; the file may be corrupt.
For a description of this status code, refer to the message UCMGR411: File seek error, file = filename, (errno=nn). .
7026: The User Count Manager cannot find the diskette key file: UCMGR.KEY.
For a description of this status code, refer to the message UCMGR401: Cannot find diskette key file, file = filename, (errno = nn). .
7029: The User Count Manager cannot read the diskette key file.
For a description of this status code, refer to the message UCMGR307: The diskette key file is invalid, file = filename, (errno=nn) .
7031: The User Count Manager cannot copy the diskette key file.
This status code applies to the NetWare platform only. For a description of this status code, refer to the message UCMGR416: DOS Copy error. The User Count Manager cannot copy the diskette key file, (errno=nn). .
7032: The User Count Manager cannot open the diskette key file.
This status code applies to the NetWare platform only. For a description of this status code, refer to the message UCMGR417: DOS Open error. The User Count Manager cannot open the diskette key file, (errno=nn). .
7033: The User Count Manager cannot write to the diskette key file.
This status code applies to the NetWare platform only. For a description of this status code, refer to the message UCMGR418: DOS Write error. The User Count Manager cannot write to the diskette key file (errno=nn). .
7039: The User Count Manager cannot delete the specified file.
For a description of this status code, refer to the message UCMGR412: File delete error, file = filename, (errno=nn). .
7040: The User Count Manager cannot rename the specified file.
For a description of this status code, refer to the message UCMGR413: File rename error, file = filename, (errno=nn). .
7046: The User Count Manager cannot migrate Btrieve user count.
An invalid Btrieve database engine was specified for migrating the Btrieve user count. On NetWare, only Btrieve v6.15 and Btrieve v6.10 user count licenses can be migrated to the MKDE v4.0. On Windows NT, only Btrieve v6.15 user count licenses can be migrated to the MKDE v4.0.
7061: Your Pervasive Database engine expired on <date>. Please contact Pervasive Software for more information.
You receive this status code when your temporary user license for the database engine is expired. Contact Pervasive Software to obtain a permanent user license key.
7062: Your Pervasive Database engine will expire on <date> because you have a temporary license key.
You receive this message when you start the MicroKernel and you have a temporary license key. This is an informational message only that reminds you when your license will expire. Contact Pervasive Software to obtain a permanent license key.
The User count Administrator displays the current maximum user licenses and allows you to add additional licenses. Refer to Getting Started With Pervasive.SQL for more information.
7065: The product for which you requested the user count license does not exist.
You receive this status code when the User Count Manager receives a request to display a user count license for a product code, and that product code does not exist. Consult Getting Started with Pervasive Database for a list of valid product codes.
8000 to 8499
Component Management Status Codes
These status codes originate from the Smart Component Management and Event Logging interface of the MicroKernel.
8500 to 8589
ECAS Interface Status Codes
This section describes the status codes returned by the ECAS (Enhanced Common Address Space) interface. Most of the errors are system errors and cause an entry in the Pervasive event log. In many cases when you receive these errors, there may be some instability in the environment or memory allocation and you will need to restart the machine.
8505: An initialization error occurred when trying to establish a session with the workstation engine.
In its attempt to auto-load the workstation engine, the application failed to establish the session with the workstation engine. This is a system error. Check the Pervasive event log for more information.
8517: An error occurred when closing the session with the workstation engine.
The application could not close the session with the workstation engine. Check the Pervasive event log for more information.
8590 to 8599
W3DBSMGR Status Codes
This section describes the status codes returned by W3DBSMGR logic. These errors are in the range 8590 to 8599 and cause an entry in the event log. In many cases when you receive these errors, there may be some instability in the environment or memory allocation and you will need to restart the machine.
8590: An error occurred in the database manager while initializing Smart Components Manager.
This error occurs when W3DBSMGR (Pervasive.SQL workstation engine) failed to initialize the smart component library. See the Pervasive event log for more information. You may also get more information about the problem that caused this error by setting the PVSW_DISP_LOAD_ERRS=AIF environment variable and running the application. This enables the Services DLL to display on-screen module load errors. However, this environment variable should only be set to diagnose module load errors. In all other cases, it should not be set.
If the program is autoloaded (i.e., loaded through a Btrieve or a Scalable application), then terminate the application If the program is preloaded, then shut down the application using the tray icon.
8593: An error occurred while the database manager was creating a system thread.
This error indicates that the system is out of resources. Close some of the applications and try again.
chapter
Messages
This chapter describes the messages can be returned to Pervasive.SQL applications. The messages are listed in alphabetic order by category. Some of the messages listed in this chapter may be generated by utilities that are not part of your Pervasive.SQL distribution. Messages are not the same as status codes. (see Chapter 1, Status Codes); messages are returned to end users by utilities or specific components and generally begin with a prefix and a number. For example: MKDE16: There is insufficient memory to load the MicroKernel Database Engine. Some messages refer to status codes, as in the following example: Error Accessing INDEX.DDF. Status = nn The status code is tied to a particular component, and it varies depending on the nature and source of the error. The value for nn or xx refers to a softwaresupplied number (for example, a status code, operation code, or number of records) and xxxx refers to a software-supplied name (for example, a filename, a data type or key type, or a command).
Messages 2-1
The messages are arranged according to the originating component. Table 2-1 lists the prefixes for each type of message. Table 2-1 Message Groups
Prefix (none) BDROUTER BREQUEST BREQUTIL BROUTER BSPXCOM BTCPCOM BUTIL MKDE NWBSRVCM UCINIT UCMGR UCUTIL Type of Code Generic Messages Btrieve Remote Communications Manager Messages Btrieve Requester Messages Requester Utility Messages Btrieve Message Router Messages Btrieve SPX Communications Module Messages Btrieve TCP/IP Communications Module Messages Btrieve Maintenance Utility Messages MicroKernel Database Engine Messages NetWare Btrieve Server Communications Manager Messages User Count Initialization Utility Messages User Count Manager Messages User Count Utility Messages
(No prefix)
Generic Messages
The following messages may be returned by more than one utility or component. These messages are not preceded by a component prefix or number.
Incorrect Parameter
The SQL or Btrieve Requester returns this message if it encounters an error while loading at a DOS client machine. You specified an invalid configuration option. For information about the Setup utility and specifying the configuration options, refer to the Pervasive.SQL 2000 Users Guide.
Insufficient Memory
The SQL or Btrieve Requester returns this message if it encounters an error while loading at a DOS client machine. The Requester cannot allocate enough memory for the configuration options specified. Ensure that the client machine has enough memory to load all the programs you want to run.
Messages 2-3
Load File Referenced Undefined Public Variable. Module xxxx Not Loaded
In the NetWare v3.12 or later environment, a module you attempted to load (such as the Setup utility) requires that the correct version of another module be loaded. All Pervasive.SQL utilities require that the following software is loaded:
NetWare v3.12 or later, including the AFTER311 NLM. Load AFTER311 from AUTOEXEC.NCF before calling BSTART. Pervasive.SQL MicroKernel Database Engine v7.x and the BSPXCOM NLM
Messages 2-5
BDROUTER
Btrieve Remote Communications Manager Messages
The following messages are specific to the BDROUTER Remote Communications Manager. This component is obsolete in Pervasive.SQL 2000, so these messages are returned only by v6.x engines.
BDROUTER11: The value specified for Directory Services username and password is invalid.
Before an application can access the NetWare Directory Services database, the user must be authenticated to NDS. For the client requesters, it is assumed that you have already been authenticated; therefore, the Requesters do not explicitly perform an NDS login. However, BDROUTER must explicitly log in to NDS and therefore must provide an NDS username and password. For this purpose, BDROUTER has two command line options, as follows: 2-6 Status Codes and Messages
/U:<NDSusername> /P:<NDSpassword>
Messages 2-7
BREQUEST
Btrieve Requester Messages
The following messages are specific to Btrieve Requesters.
BREQUEST4: The value specified for the Data Message Length (/d) option is invalid.
Specify the /D option as /D:n, where n is a number between 532 and 57,000. For more information about DOS Requester options, refer to the Getting Started With Pervasive.SQL 2000.
BREQUEST7: The Btrieve Requester must be loaded before the Client Engine or Requester.
The Pervasive.SQL workstation engine or Requester is already loaded; the Btrieve Requester for DOS must be loaded first. Unload the Pervasive.SQL workstation engine or Requester and then load the Btrieve Requester for DOS.
BREQUEST8: DOS 3.00 or greater is not loaded; load DOS 3.00 or greater.
Load DOS 3.x or later to proceed.
BREQUEST12: The value specified for the NetWare Runtime Server support (/C) option is invalid.
Specify this option in one of these forms: /C:0 /C:1 Disables NetWare Runtime server support. Enables NetWare Runtime server support. To authenticate requests on the NetWare Runtime server, provide a username and password, separating them with commas, as follows: /C:1,username,password
For more information about DOS Requester options, refer to the Getting Started With Pervasive.SQL 2000.
BREQUEST13: The value specified for the Number of Servers (/S) is invalid.
Specify the /S option as /S:n, where n is a number between 1 and 8. For more information about DOS Requester options, refer to Getting Started With Pervasive.SQL 2000.
BREQUTIL
Requester Utility Messages
This section lists the messages that the SQL and Btrieve Requester utilities generate.
BREQUTIL9: Btrieve operation nn was unsuccessful. The number of the applicable Btrieve status code is nn.
Refer to Chapter 1, Status Codes for a description of Status Code nn.
BREQUTIL16: MicroKernel or Btrieve Requester cannot be removed from memory while the MKDE is loaded.
If you want to unload the MicroKernel or Btrieve Requester, unload the MKDE first.
Messages 2-11
BROUTER
Btrieve Message Router Messages
The following messages are specific to the BROUTER Remote Communications Manager.
BSPXCOM
Btrieve SPX Communications Module Messages
The following messages are specific to the Btrieve Communications Manager.
BSPXCOM3: An internal error has occurred. BSPXCOM detected a semaphore allocation failure.
An internal error occurred during a semaphore allocation operation. Retry the operation. If the error persists, contact Pervasive Software Customer Support.
BSPXCOM4: The Service Request Block (SRB) function code nn contains invalid data. Check for an incompatible version of the file BSPXCOM.NLM.
Ensure that BSPXCOMs version is compatible with the version number of the workstations Btrieve Requester.
BSPXCOM6: Another NLM is using the socket number reserved for BSPXCOM.NLM.
To solve this condition, unload all other NLMs. Load BTRIEVE.NLM and NWBSRVCM.NLM, and then reload the other NLMs. This process reveals the NLM that is using BSPXCOM.NLMs socket number.
Messages 2-13
BSPXCOM7: An SPX receive I/O error (nn) has occurred. The connection has been lost.
An error occurred during an SPX-level receive operation. Refer to your operating system documentation for the definition of the error number. Retry the operation. If the error persists, contact Pervasive Software Customer Support for more information.
BSPXCOM8: An SPX send I/O error (nn) has occurred. The connection has been lost.
An error occurred during an SPX-level send operation. Refer to your operating system documentation for the definition of the error number. Retry the operation. If the error persists, contact Pervasive Software Customer Support for more information.
BSPXCOM10: Bad connection ID detected on receive. The SPX connection was lost after the initial request began.
If this message appears frequently, increase your requesters SPX Timeout parameter, which is controlled with the Configuration (Setup) utility. Also, check for NLMs that are monopolizing the CPU time.
BSPXCOM11: Bad connection ID detected on send. The SPX connection was lost after the initial request began.
If this message appears frequently, increase your requesters SPX Timeout parameter, which is controlled with the Configuration (Setup) utility. Also, check for NLMs that are monopolizing the CPU time.
BSPXCOM12: An error (nn) was detected while trying to establish an SPX session requested by a remote workstation.
An error occurred during an SPX-level session establishment operation. Refer to your operating system documentation for the definition of the error number value. Retry the operation. If the error persists, contact Pervasive Software Customer Support for more information.
BSPXCOM13: The session was rejected because the session limit was reached. Increase the value specified for the Number of Remote Sessions option.
Increase the value specified for the Number of Remote Sessions configuration option, as described in the Pervasive.SQL 2000 Users Guide.
BSPXCOM14: The request for statistics from the Monitor utility was not recognized. Check for an incompatible version of the utility or BSPXCOM.NLM.
Ensure that your BSPXCOM.NLM version is compatible with the version number of the Monitor utility.
BSPXCOM15: An internal error has occurred. BSPXCOM did not recognize the GET_EIM_STATS function.
Ensure that the version of BSPXCOM.NLM is compatible with the version number of the Monitor utility.
Messages 2-15
BTCPCOM
Btrieve TCP/IP Communications Module Messages
BTCPCOM-1: The option specified is not a valid option.
Specify a valid option.
BTCPCOM-3: An internal error has occurred. BTCPCOM.NLM detected a semaphore allocation failure.
An error occurred during a semaphore allocation operation. Retry the operation. If the error persists, contact Pervasive Software Customer Support for more information.
BTCPCOM-4: The Service Request Block (SRB) function code nn contains invalid data. Check for an incompatible version of the file BTCPCOM.NLM.
Ensure that BTCPCOMs version is compatible with the version number of the workstations Btrieve Requester.
BTCPCOM-5: A TCP/IP level receive I/O error nn has occurred. The connection has been lost.
An error occurred during a TCP/IP level receive operation. Refer to your operating system documentation for the definition of the error number value. Retry the operation. If the error persists, contact Pervasive Software Customer Support for more information.
BTCPCOM-6: A TCP/IP level send I/O error nn has occurred. The connection has been lost.
An error occurred during a TCP/IP level send operation. Refer to your operating system documentation for the definition of the error number. Retry the operation. If the error persists, contact Pervasive Software Customer Support for more information.
BTCPCOM-8: The session was rejected because the session limit was reached. Increase the value specified for the Number of Remote Sessions option.
Increase the value specified for the Number of Remote Sessions option. This option is described in the Pervasive Users Guide.
BTCPCOM-9: The request for statistics from the Monitor utility was not recognized. Check for an incompatible version of the utility or BTCPCOM.NLM.
Ensure that the BTCPCOM.NLM version is compatible with the version number of the Monitor utility.
BTCPCOM-10: An internal error has occurred. BTCPCOM did not recognize the GET_EIM_STATS function.
Ensure that the BTCPCOM.NLM version is compatible with the version number of the Monitor utility.
BTCPCOM-12: A TCP/IP select() error (nn) has occurred while trying to establish a session requested by a remote workstation.
An error occurred during a TCP/IP-level select session establishment operation. Refer to your operating system documentation for the definition
Messages 2-17
of the error number. Retry the operation again. If the error persists, call Pervasive Software technical support for more information.
Retry the operation again. If the error persists, call Pervasive Software technical support for more information.
Messages 2-19
BUTIL
Btrieve Maintenance Utility Messages
The following messages are specific to the Btrieve Maintenance utility.
BUTIL2: Message file initialization failed. BUTIL was unable to access BTIUTILD.MSG.
Only BUTIL.EXE in DOS returns this message. The utility could not find the BTIUTILD.MSG file, which contains messages that the utility uses. Ensure that you installed Btrieve for DOS correctly.
Messages 2-21
BUTIL19: BUTIL could not open the alternate collating sequence file.
Ensure that you assigned a valid pathname to the Alternate Collating Sequence filename element in the description file.
BUTIL20: An error occurred during access of the alternate collating sequence file.
Ensure that the information in the alternate collating sequence file is formatted correctly.
BUTIL23: The /D parameter specified to the Requester was too small for BUTIL to receive the entire record. BUTIL is writing only nn bytes.
The Maintenance utility is writing only as many bytes as the value of the /D option allows. If you want the utility to write all the bytes in the record, specify a value for the /D option that is at least as large as the affected record.
BUTIL25: The /D parameter specified to BUTIL was too small for BUTIL to receive any part of the record.
You specified an invalid value for the Requesters /D option. Use the Setup utility to increase the value specified.
BUTIL26: The data buffer is too small to hold any part of the record.
The MicroKernel cannot return any data in the data buffer because the data buffer is too small to hold it. Use the Setup utility to increase the value specified for the Largest Record Size configuration option.
BUTIL27: An error occurred during the access of the variable page. BUTIL is writing the obtainable portion of the variable page.
An error occurred during the recovery of a file with variable-length records. The file is corrupt.
BUTIL31: The key position plus key length cannot exceed the record length.
The range of the key position you specified is invalid. The key position of a key plus its length cannot be larger than the record length. Verify that the key is defined so that its position plus its length does not exceed the record length.
BUTIL32: The key length must be an even number for key type xxxx.
You specified an invalid key length for the key type. Some key types must contain an even number of bytes. Specify a valid Key Length element.
BUTIL36: The page size must be a multiple of 512, from 512 to 4,096.
The page size you specified is not a multiple of 512, from 512 to 4096. Specify an appropriate page size.
BUTIL38: The record length must be at least 4 and no greater than 4,096.
Specify a record length between 4 and 4096 (inclusive) for Btrieve v5.x, or between 4 and 4088 for Btrieve v6.x.
BUTIL43: The file exists, but the Replace option was not specified.
The Maintenance utility did not create a file when you specified the BUTIL CREATE command because the file already exists. To recreate this file, specify the Replace Existing File element in the description file as Y.
BUTIL60: The end of the file occurred while BUTIL was expecting keyword xxxx on key segment descriptor nn.
Check the syntax of the description file.
BUTIL61: The end of the file occurred while BUTIL was expecting keyword xxxx.
Check the syntax of the description file.
BUTIL62: BUTIL was expecting keyword xxxx on key segment descriptor nn.
Check the syntax of the description file.
Messages 2-25
BUTIL76: When BUTIL wrote the Page Allocation Table at page #nn, an error occurred.
The Maintenance utility returns this message while salvaging a file if the file is corrupt, or when a hardware error occurs.
BUTIL77: When BUTIL wrote a mirror copy of the Page Allocation Table at page #nn, an error occurred.
The Maintenance utility returns this message while salvaging a file if the file is corrupted, or when a hardware error occurs.
BUTIL101: The list of files that were not processed is: list.
The Maintenance utility returns this error during the ROLLFWD operation if the utility encounters a file that cannot be rolled forward. The utility stops rolling forward and lists the remaining files not processed. If you receive this message in conjunction with the Maintenance utility message number 103, restore the missing log segment and any log segments created after it to the log directory. If you cannot restore all missing log segments, restore as many as possible. Then, perform the ROLLFWD operation and specify the segment_number parameter of the earliest log segment you could restore.
BUTIL141: File xx has an invalid extension. This extension is reserved for extended unformatted files.
Specify a valid extension. For more information, see the Pervasive.SQL 2000 Users Guide.
Messages 2-27
BUTIL-143: File xx exists. This file is a potential extension of file yy. Remove this file and other potential extension files in this directory.
For more information about extended files, see the Pervasive.SQL 2000 Users Guide.
BUTIL-144: File xx has reached the size limit. The utility created one or more extension files. The last extension file is yy.
For more information about extended files, see the Pervasive.SQL 2000 Users Guide.
BUTIL-145: The utility found file xx. Remove this file before loading data from file yy.
For more information about extended files, see the Pervasive.SQL 2000 Users Guide.
MKDE
MicroKernel Database Engine Messages
This section lists the messages that the MicroKernel Database Engine generates.
MKDE20: The log file filename cannot be written. Check disk space.
If the disk is full, free some space by deleting any unnecessary files. When an error occurs while writing to the transaction log file, the MicroKernel attempts to resume transaction logging after every update to a data file containing system data. Therefore, when the condition causing the error is corrected (for example, when more disk space is made available), the MicroKernel automatically resumes transaction logging.
Messages 2-29
MKDE57: The file filename cannot be created in the log segment directory xxxx.
While initializing, the MicroKernel could not find the specified transaction log segment directory, so it did not load. Ensure that the directory exists and that the MicroKernel has rights to it. (This is not a problem for the NetWare NLM version of the MicroKernel, because it has rights to all directories and files.) Use the Setup utility to specify the transaction log directory.
MKDE58: The file filename cannot be opened in the log segment directory xxxx.
While initializing, the MicroKernel could not open the specified file in the transaction log segment directory, so it did not load. Ensure that the directory and file exist and that the MicroKernel has rights to it. (This is not a problem for the NetWare NLM version of the MicroKernel, because it has rights to all directories and files.) Another possibility is that someone has opened the file with an exclusive lock. Use the Monitor utility to see if another user has locked the file.
containing system data. Therefore, when the condition causing the error is corrected (for example, when more disk space is made available), the MicroKernel automatically resumes transaction logging.
Messages 2-31
Messages 2-33
MKDE1002: The value specified for Longest Compressed Record Size is invalid.
Specify a valid value.
MKDE1003: The value specified for Extended Operation Buffer Size is invalid.
Specify a valid value.
MKDE1011: Info: The Number of Handles cannot be less than the Number of Open Files.
Either specify a higher value for the Handles or specify a lower value for the Open Files option.
Messages 2-35
MKDE1017: The value specified for System Transaction Hold Limit is invalid.
Specify a valid value for this option. For more information about valid values, refer to the Pervasive.SQL 2000 Users Guide.
MKDE1023: The value specified for Disk I/O Wait Time is invalid.
Specify a valid value.
MKDE1024: The value specified for Page Write Group Size is invalid.
Specify a valid value.
MKDE1027: The value specified for Message Log File Limit is invalid.
Specify a valid value.
MKDE1156: The log file filename cannot be written. Check disk space.
The transaction log file filename cannot be written. Check the disk space. If the disk is full, free some space by deleting any unnecessary files. When an error occurs while writing to the transaction log file, the MicroKernel attempts to resume transaction logging after every update to a data file containing system data. Therefore, when the condition causing the error is corrected (for example, when more disk space is made available), the MicroKernel automatically resumes transaction logging.
Messages 2-37
MKDE1166: Could not open Pervasive Event Log file. This file is created in the home directory. Verify that the directory is present and sufficient space is available.
The MicroKernel returns this message when it cannot create the Pervasive Event Log (PVSW.LOG) in the directory. Make sure that the disk on your computer is not full. The home directory is defined as \WINNT\SYSTEM32 (Windows NT), \WINDOWS\SYSTEM (Windows 95) or SYS:\SYSTEM (NetWare server).
MKDE1171: The file BTI.INI is flagged as read only. Btrieve can temporarily override this attribute to save the current settings. Do you wish to continue?
The MicroKernel returns this message if the BTI.INI file is flagged as read only and you attempt to save changes to the Btrieve configuration settings, 2-38 Status Codes and Messages
which are stored in the BTI.INI file. If you choose to continue, the MicroKernel updates the BTI.INI file but maintains its read only status. If you choose not to continue, the MicroKernel does not update the BTI.INI file. You can still change the configuration settings, but they are only in effect for the current Btrieve session.
MKDE1184: Unable to set number of file handles to requested value. Maximum open files reduced to nn.
The MicroKernel is unable to set the Maximum Open Files to the value you specified; instead the MicroKernel uses the value indicated in the message. To avoid receiving this message, run fewer applications at the same time.
MKDE1192: Settings read from NOVDB.INI - To change to BTI.INI, save current settings.
The MicroKernel returns this message when it loads and finds a NOVDB.INI file where it expects to find the BTI.INI file. To use the BTI.INI file, open the Settings notebook and click the Save button.
Messages 2-41
You may have a corrupted file, or your log file may be corrupt. For more information about Status Code nn, refer to Chapter 1, Status Codes.
MKDE2001: The value specified for the Cache Allocation option is invalid.
The MicroKernel returns this message when the value specified for the Cache Allocation option is invalid. Use the Setup utility and specify a valid value for this option.
MKDE2002: The value specified for the Largest Compressed Record Size option is invalid.
The MicroKernel returns this message when the value specified for the Largest Compressed Record Size option is invalid. Use the Setup utility to specify a valid value for the Largest Compressed Record Size option.
MKDE2004: The value specified for the Number of Open Files option is invalid.
The MicroKernel returns this message when the value specified for the Number of Open Files option is invalid. Use the Setup utility and specify a valid value for this option.
MKDE2005: The value specified for the Operation Bundle Limit option is invalid.
The MicroKernel returns this message when the value specified for the Operation Bundle Limit option is invalid. Use the Setup utility and specify a valid value for this option.
MKDE2007: The value specified for the Number of Handles option is invalid.
The MicroKernel returns this message when the value specified for the Handles option is invalid. Use the Setup utility and specify a valid value for this option.
MKDE2008: The value specified for the I/O Threads option is invalid.
The MicroKernel returns this message when the value specified for the number of I/O threads option is invalid. Use the Setup utility and specify a valid value for this option.
MKDE2009: The value specified for the Active Clients option is invalid.
The MicroKernel returns this message when the value specified for the Active Clients option is invalid. Use the Setup utility and specify a valid value for this option.
MKDE2010: The value specified for the Sort Buffer Size option is invalid.
The MicroKernel returns this message when the value specified for the Sort Buffer Size option is invalid. Use the Setup utility and specify a valid value for this option.
MKDE2011: The path specified for the Temporary Directory option is invalid.
The MicroKernel returns this message when the value specified for the Temporary Work Directory option is invalid. Use the Setup utility and specify a valid path.
Messages 2-45
MKDE2019: The log file filename cannot be written. Check disk space.
The MicroKernel returns this message when log file filename cannot be written. Check the disk space. If the disk is full, free some space by deleting any unnecessary files. When an error occurs while writing to the transaction log file, the MicroKernel attempts to resume transaction logging after every update to a data file containing system data. Therefore, when the condition causing the error is corrected (for example, when more disk space is made available), the MicroKernel automatically resumes transaction logging.
Messages 2-47
Messages 2-51
NWBSRVCM
NetWare Btrieve Server Communications Manager Messages
NWBSRVCM-4: Btrieve Communication Manager is using default settings.
The Btrieve Communications Manager displays this message when it cannot find the configuration file (BTI.CFG). It will use the default configuration settings.
NWBSRVCM-10: Btrieve Communication Manager terminating - invalid Supported Protocols specified in configuration file (BTI.CFG).
Verify that the configuration file (BTI.CFG) entry for Supported Protocols is correct.
UCINIT
User Count Initialization Utility Messages
The following messages apply to the User Count Initialization utility.
UCINIT308: The User Count Manager cannot migrate the Btrieve user count because the Btrieve file is invalid, file = %s.
The User Count Initialization utility displays this message when you try to migrate a Btrieve user count with an invalid Btrieve v6.10 database engine file (BTRIEVE.NLM).
UCINIT309: Error adding license key while migrating Btrieve v6.1x user count (UCMGR status code = nn).
The User Count Initialization utility displays this message when attempting to migrate a Btrieve v6.1x user count. For NetWare server engines, ensure that the Btrieve file is v6.10 or later. For Windows NT server engines, ensure that the Btrieve file is v6.15 or later.
Messages 2-55
UCMGR
User Count Manager Messages
The following messages apply to the User Count Manager.
UCMGR301: The key number used for increasing the user count is invalid.
The User Count Manager returns this message when the key number used for increasing the user count is invalid. Provide a valid key number.
UCMGR302: Invalid key file check sequence. The integrity of the user count key file has been compromised.
The User Count Manager returns this message when the integrity of UCMGR.SYS has been compromised. Reinstall SQL.
UCMGR305: Duplicate key number error. You cannot increase the user count with the same key twice.
The User Count Manager returns this message when you attempt to provide a key number that has already been used to increase the user count. Ensure that you entered the key number correctly.
UCMGR306: The diskette key has already been applied. You cannot increase the user count with the same diskette key twice.
The User Count Manager returns this message when you attempt to apply a diskette-based key that has already been applied. Ensure that you use a diskette-based key that has not been previously applied.
Messages 2-57
UCMGR310: Serial number synchronization error. Unable to find valid stamp area.
The User Count Manager returns this message when the serial numbers in SQL components do not match. Ensure that you installed SQL correctly.
UCMGR312: Serial number synchronization error. One or more stamp numbers read do not match.
The User Count Manager returns this message when the serial numbers in SQL components do not match. Ensure that you installed SQL correctly.
UCMGR313: Serial number synchronization error. Could not write stamp number to one of the files. Make sure the database engine is not loaded and that you have access rights to the files.
The User Count Manager returns this message when the serial numbers in SQL components do not match. Ensure that you installed SQL correctly.
UCMGR314: Serial number synchronization error. Files have not been stamped and the user count key file exists.
The User Count Manager returns this message when the serial numbers in SQL components do not match. Ensure that you installed SQL correctly.
UCMGR315: Serial number synchronization error. The key file stamp number does not match the stamp number in the other files.
The User Count Manager returns this message when the serial numbers in SQL components do not match. Ensure that you installed SQL correctly.
UCMGR316: Serial number synchronization error. Files have been stamped but the user count key file does not exist. If you have made a backup copy of your user count key file (<plat>UCMGR.SYS), please restore it to the database engine directory.
The User Count Manager returns this message when the serial numbers in SQL components do not match. Ensure that you installed SQL correctly.
UCMGR317: Serial number synchronization error. During a user count migration update, could not find a valid stamp area.
The User Count Manager returns this message when the serial numbers in SQL components do not match. Ensure that you installed SQL correctly.
UCMGR318: Serial number synchronization error. During a user count migration update, an invalid stamp number was found.
The User Count Manager returns this message when the serial numbers in SQL components do not match. Ensure that you installed SQL correctly.
UCMGR319: Serial number synchronization error. During a user count migration update, one or more stamp numbers do not match.
The User Count Manager returns this message when the serial numbers in SQL components do not match. Ensure that you installed SQL correctly.
UCMGR321: You have previously migrated xx users and have tried to migrate xx users at this time. This is an invalid operation because
Messages 2-59
the migrated user count is less than the previously migrated user count.
The User Count Manager returns this message when you attempt to migrate a number of users that is different from the number of users you previously migrated.
UCMGR401: Cannot find diskette key file, file = filename, (errno = nn).
The User Count Manager returns this message when you attempt to access a diskette-based key file that does not exist. Ensure you have a diskette-based key file and retry the operation.
In Netware, enter the following commands at the server console: mgrstop bstop
SSQL_v4.0> quit
Messages 2-61
UCMGR416: DOS Copy error. The User Count Manager cannot copy the diskette key file, (errno=nn).
This message is returned only on the NetWare platform. The User Count Manager returns this message when it cannot access the User Count diskette key file (UCMGR.KEY) on NetWare. The operating system error number is displayed as errno. Refer to your operating system documentation for the definition of the errno value. Ensure you have a valid diskette-based key file and retry the operation.
UCMGR417: DOS Open error. The User Count Manager cannot open the diskette key file, (errno=nn).
This message is only returned on the NetWare platform. The User Count Manager returns this message when it cannot access the User Count diskette key file (UCMGR.KEY) on NetWare. The operating system error number is displayed as errno. Refer to your operating system documentation for the definition of the errno value. Ensure you have a valid diskette-based key file and retry the operation.
UCMGR418: DOS Write error. The User Count Manager cannot write to the diskette key file (errno=nn).
This message is only returned on the NetWare platform. The User Count Manager returns this message when it cannot access the User Count diskette key file (UCMGR.KEY) on NetWare. The operating system error number is displayed as errno. Refer to your operating system documentation for the definition of the errno value. Ensure you have a valid diskette-based key file and retry the operation.
UCMGR500: The User Count Manager is not initialized. Unload or stop your database engine and run the User Count Initialization utility (UCINIT.EXE, NTUCINIT.EXE, or NWUCINIT.NLM).
The User Count Manager returns this message when the manager has not been initialized prior to issuing requests for its services.
UCMGR501: The User Count Manager is busy. Only one instance of the User Count Manager can be in use at one time.
The User Count Manager returns this message when the Manager is already in use. Try to use the User Count Manager later.
Messages 2-63
UCUTIL
User Count Utility Messages
The User Count utility generates the following messages.
If the specified status code is in the range of 7000 through 7099, the error relates to the User Count Manager. A message reflecting the User Count Manager error is displayed just above this one at the console. Refer to the UCMGR messages for more information. If the specified status code is -1, the error relates to the operating system. A message reflecting the operating system error number (errno) is displayed just above this one at the console. Refer to your operating system documentation for more information about the errno number.
Messages 2-65
Index
B
BDROUTER messages 2-6 BREQUEST messages 2-8 BREQUTIL messages 2-11 BROUTER messages 2-12 BSPXCOM messages 2-13 BTCPCOM messages 2-16 Btrieve Maintenance Utility Messages 2-20 Btrieve Message Router Messages 2-12 Btrieve Remote Communications Manager Messages 2-6 Btrieve Requester messages 2-8 status codes 1-67 Btrieve Router messages 2-6 Btrieve SPX Communications Module Messages 2-13 Btrieve TCP/IP Communications Manager messages 2-16 BUTIL Messages 2-20
BROUTER 2-12 BSPXCOM 2-13 BTCPCOM 2-16 BUTIL 2-20 MicroKernel Database Engine 2-29 MKDE 2-29 NWBSRVCM 2-53 Requester utility 2-11 UCINIT 2-55 UCMGR 2-57 UCUTIL 2-65 User Count Manager 2-57 utility 2-65 MicroKernel Database Engine messages 2-29 status codes 1-16, 1-62 MicroKernel Router status codes 1-81 MKDE Messages 2-29
N
NetWare Btrieve Server Communications Manager Messages 2-53 Network Services Layer status codes 1-88 NWBSRVCM messages 2-53
C
Component Management status codes 1-100
E
ECAS API status codes 1-105 Event log status codes 1-100
R
Ranges status codes 1-2 Requester Utility Messages 2-11
G
Groups, message 2-2
S
Scalable SQL status codes informative 1-3 Status Codes 0 1-15 1 to 199 1-16 1000 to 1999 1-62 -199 to -100 1-3 2000 to 2099 1-67 3000 to 3099 1-81 3100 to 3199 1-88 7000 to 7099 1-93 8000 to 8099 1-100
I
I*net Data Server MicroKernel Router status codes 1-86 PNSL status codes 1-92
M
Maintenance utility messages for Btrieve 2-20 Message Groups 2-2 Messages BDROUTER 2-6 BREQUEST 2-8, 2-11
Index 1
8500 to 8589 1-105 8590 to 8599 1-108 Btrieve Requester 1-67 Component Management 1-100 ECAS API status codes 1-105 event log 1-100 MicroKernel Database Engine 1-16, 1-62 MicroKernel Router 1-81 Network Services Layer 1-88 ranges 1-2 Scalable SQL informative 1-3 successful completion 1-15 User Count Manager 1-93 W3DBSMGR status codes 1-108 Status Codes returned by SQL engine. 1-3 Successful completion status code 1-15
U
UCINIT messages 2-55 UCMGR Messages 2-57 UCUTIL Messages 2-65 User Count Initialization Utility Messages 2-55 Manager messages 2-57 status codes 1-93 utility messages 2-65
W
W3DBSMGR status codes 1-108