home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
Beijing Paradise BBS Backup
/
PARADISE.ISO
/
software
/
BBSDOORW
/
LAI-3131.ZIP
/
DOC.ZIP
/
BTRIEVE.TXT
next >
Wrap
Text File
|
1994-07-30
|
45KB
|
957 lines
BTRIEVE.TXT Headings:
1.0 Appendix C Using Brequest
1.1 Using the Btrieve NLM
1.1.1 Using the NLM with EQUIP
1.2 Using Brequest in a Login Script
1.3 Using the Btrieve VAP
2.0 Appendix D Btrieve Status Codes
2.1 Btrieve Status Codes
2.2 Client-Based Btrieve for OS/2 and Windows Status Codes
2.3 Btrieve Requester Status Codes
1.0 Appendix C Using Brequest
Appendix B discussed error messages and explanations. This appendix discusses
the use and configuration of the server-based Btrieve record manager,
BREQUEST.
1.1 Using the Btrieve NLM
The Btrieve record manager must be loaded before running the SiteMeter EQUIP
program. It is highly recommended that you use the server-based BREQUEST
program while running EQUIP. This appendix offers recommendations on setting
up and using the Btrieve NLM.
NOTE: a - When using BREQUEST, version 6.10 or greater is required.
b - When using BREQUEST, BSPXCOM and BROUTER must also be loaded on the
fileserver. For details on loading these programs, refer to your Novell
documentation.
1.1.1 Using the NLM with EQUIP
Using BREQUEST, as opposed to BTRIEVE, will improve the performance of data
collection, auditing and reporting by at least 50% and as much as 500%. An
additional advantage is the savings in local (client) memory--BTRIEVE.EXE
can occupy from 50-85K of conventional memory, whereas BREQUEST.EXE can
occupy approximately 31-45K. The exact amount of memory required for both
programs depend on the specified command line parameters.
Use the following procedure to configure the Btrieve NLM.
1. To configure the NLM, run BSETUP.NLM.
At the file server console prompt, type:
LOAD BSETUP <ENTER>
2. Choose Set Btrieve Configuration to verify that the following options
are defined.
The values provided below are the minimum values required; your current
values may be set higher.
o Number of Open Files: = 22 (default = 20)
o Number of Transactions: = 1 (default = 0)
o Largest Record Size: = 17000 (default = 8192)
o Largest Page Size: = 4096 (default = 4096)
NOTE: All other BSETUP options can remain unchanged.
3. Save the configuration, and exit BSETUP.
BSETUP writes the configuration changes to the BSTART.NCF file. The
changes do not take effect until the next time the Btrieve NLM is loaded.
4. To load the NLM, run BSTART.
At the file server console prompt, type:
BSTART <ENTER>
BSTART is an NCF file which loads both BTRIEVE.NLM and BSPXCOM.NLM.
5. To unload the Btrieve NLM, issue the BSTOP command.
If the Btrieve NLM was loaded when changes were made in BSETUP, you need
to unload Btrieve and then reload the NLMs in order for the changes to
take effect.
For example, at the console prompt, type:
BSTOP <ENTER>
BSTART <ENTER>
1.2 Using Brequest in a Login Script
To ensure that EQUIP is executed on a regular basis, the EQUIP command can
be placed in your system login script. Because the Btrieve database must be
loaded before running EQUIP, a Btrieve command must also be placed in the
login script. EQUIP executes much faster when used in conjunction with
Brequest and the BTRIEVE NLM; therefore, the login script should contain the
BREQUEST.EXE command.
The following example illustrates how EQUIP can be run from the system login
script, using BREQUEST. Comments are indicated in the text between the angle
brackets.
MAP F:=FS/SYS:LANINV <maps drive to LANINV dir>
DRIVE F: <changes to the LANINV dir>
#BREQUEST /D:17000
#EQUIP <specify scan parameters>
#ENDBTRV
NOTES: a - Loading SPX - LAN Inventory requires SPX to be loaded at each
workstation. Brequest communicates with BSPXCOM.NLM via SPX. BSPXCOM, in turn,
passes all requests from Brequest to the BTRIEVE NLM. If SPX is not loaded
at a workstation, that workstation has no communication whatsoever with the
Btrieve record manager. If you have loaded Brequest and are getting "BTRIEVE
Record Manager Not Loaded" messages, make sure that SPX is loaded. This
normally only becomes an issue on workstations that load the ODI drivers
because the ODI drivers can optionally load SPX.
b - Brequest /D switch - The /D: parameter specifies the size of the "data
message buffer length." This buffer refers to the maximum record size that
the NLM will transmit to the workstation. This switch should be set to
17000 for the purposes of LAN Inventory.
c - Brequest /L switch - When running SDUPDATE.EXE in a DOS box, you must
load another session of BREQUEST by entering the following command:
BREQUEST /D:17000 /L
After running the program, end the additional session by issuing the ENDBTRV
command.
d - Brequest Error 87 - If you receive an "Error 87" from Btrieve while using
Brequest, increase the 'Number Of Open Files' setting in BSETUP.
1.3 Using the Btrieve VAP
All of the options and suggestions regarding the Btrieve NLM also apply to
the Btrieve VAP. The BSETUP parameters, Brequest parameters, and Windows
requester initialization settings are identical.
NOTE: When using the Btrieve VAP, the file server needs to be rebooted in
order for any changes in BSETUP to take effect.
2.0 Appendix D Btrieve Status Codes
Appendix C described how to configure and use Btrieve. This appendix lists
the return status codes for Novell's Btrieve Record Manager.
2.1 Btrieve Status Codes
Btrieve returns a status code after each operation an application performs.
If the operation was successful, Btrieve returns status code 0. If the
operation was not successful, Btrieve will return one of the nonzero status
codes described in this section.
If Btrieve returns a code that is not contained in this section, refer to
your Btrieve Installation and Operation Manual for error codes from the
utilities.
01 INVALID OPERATION
The operation parameter specified in the call is invalid.
02 I/O ERROR
An error occurred during disk read/write. This status code indicates
that the file has been damaged and must be recreated, or that the
file specified on the open call was not created. This status code
also occurs if the application passed an invalid position block.
03 FILE NOT OPEN
The operation cannot execute because the file is not open. A
successful Open operation must be performed before Btrieve can
process any other operations. This status code may also occur if the
application passed an invalid position block for the file.
04 KEY VALUE NOT FOUND
The specified key value in the index path was not found.
05 DUPLICATE KEY VALUE
A record with a key field containing a duplicate key value cannot be
added to an index that does not allow duplicate values.
06 INVALID KEY NUMBER
The value stored in the key number parameter was not valid for the
file being accessed. The key number must correspond to one of the
keys defined when the file was created or to a supplemental index.
07 DIFFERENT KEY NUMBER
The key number parameter changed before a Get Next, Get Next
Extended, Get Previous, Get Previous Extended, Update, or Delete
operation. The operation specified requires the same key number
parameter as the previous operation because Btrieve uses positioning
information relative to the previous key number.
If you need to change key numbers between consecutive Get Next, Get
Next Extended, Get Previous, or Get Previous Extended operations, use
a Get Position operation followed by a Get Direct operation to
re-establish positioning for the new index path.
08 INVALID POSITIONING
The current position must be established to update or delete a
record. Perform a Get or Step operation to establish the current
position. This status code may also occur if the application passed
an invalid position block for the file.
09 END-OF-FILE
The operation tried to read past the file boundaries (end-of-file or
start-of-file). When reading a file in ascending order according to
an index path, Btrieve returns the last record in that index path.
When reading a file in descending order according to an index path,
Btrieve returns the first record in the index path.
The Get Extended and Step Extended operations return this status code
if the number of records satisfying the filtering condition is less
than the number of specified records to be returned and the reject
count has not been reached.
10 MODIFIABLE KEY VALUE ERROR
The operation tried to modify a key field which is defined as
non-modifiable.
11 INVALID FILENAME
The filename specified does not conform to file naming conventions.
12 FILE NOT FOUND
The filename specified does not exist. Check the key buffer parameter
to make sure the pathname is terminated with a blank or a binary zero.
13 EXTENDED FILE ERROR
Btrieve could not find the extension file for an extended file which
the application tried to open. Extension files must be loaded on the
logical disk drive specified when the extension was created. Both the
primary file and its extension file must be on-line to access an
extended file.
14 PRE-IMAGE OPEN ERROR
The pre-image file could not be created or opened. There are three
possible causes for this error.
Btrieve could not create a new pre-image file because your disk
directory is full. Btrieve must be able to create a pre-image file.
Btrieve could not open the pre-image file to restore file integrity.
If the pre-image file was erased or damaged, Btrieve cannot restore
the file's integrity. In this case, either use the RECOVER command
in the BUTIL utility to retrieve the damaged file's data records in
a sequential file, or replace the file with its most recent backup.
Btrieve could not assign a handle to the pre-image file because the
Btrieve was not started by a user with access rights to the pre-image
file.
15 PRE-IMAGE I/O ERROR
An I/O error occurred during the pre-imaging function. Either the
disk is full or the pre-image file is damaged.
If the disk is full, erase any unnecessary files or extend the file
to gain additional disk space.
If the pre-image file is damaged, the integrity of the Btrieve file
cannot be ensured. Either use the RECOVER command in the BUTIL
utility to retrieve the damaged file's data records in a sequential
file, or replace the file with its most recent backup.
16 EXPANSION ERROR
An error occurred while writing the directory structure to disk
prior to the creation of the expanded file partition. Either Btrieve
could not close the file, or a new page was added to the file and
Btrieve could not close and reopen the file to update the directory
structure. Check for a disk hardware failure.
17 CLOSE ERROR
An error occurred while writing the directory structure to disk prior
to closing the file. Either Btrieve could not close the file, or a new
page was added to the file and Btrieve could not close and reopen the
file to update the directory structure. Check for a disk hardware
failure. This status code also occurs if the application passed an
invalid position block for the file.
18 DISK FULL
The disk is full and the file could not be expanded to accommodate
the insertion. Either erase any unnecessary files or extend the file
to gain additional disk space.
19 UNRECOVERABLE ERROR
An unrecoverable error has occurred. File integrity cannot be ensured.
Either use the RECOVER command in the BUTIL utility to retrieve the
damaged file's data records in a sequential file, or replace the
Btrieve with its most recent backup.
20 RECORD MANAGER INACTIVE
A request has been made before the Record Manager has been started.
Restart the Record Manager.
In network environments, the operation was not processed because
BREQUEST was not loaded. Reload BREQUEST.
21 KEY BUFFER TOO SHORT
The key buffer parameter was not long enough to accommodate the key
field for the index path requested. Verify that the length of the key
buffer equals the defined length of the key specified in the key
number parameter. This status code can be returned only by certain
interfaces.
22 DATA BUFFER LENGTH
The data buffer parameter was not long enough to accommodate the
length of the data record defined when the file was created. Verify
that the length of the data buffer is at least as long as the file's
defined record length.
For Get or Step operations, if the data buffer is too short to
contain the fixed length portion of the record, Btrieve does not
return any data to the data buffer. If the record is a variable
length record and the data buffer is too short to contain the entire
variable length portion of the record, Btrieve returns as much data
as it can and a status code 22, indicating that it could not return
the entire record.
For the Insert operation, Btrieve does not insert the record if the
data buffer is shorter than the fixed length portion of the record.
For the Update operation, if the data buffer is too short to contain
the fixed length portion of any record, Btrieve does not update the
record.
For the Create, Stat, and Create Supplemental Index operations, a
status code 22 indicates that the data buffer is not long enough to
contain all the file and key specifications, and the alternate
collating sequence definition, if specified.
23 POSITION BLOCK LENGTH
The position block parameter was not 128 bytes long. This error can
only be detected using certain language interfaces.
24 PAGE SIZE ERROR
The page size was invalid. The page size must be a multiple of 512
bytes but must be no larger than 4096 bytes. To solve this, run or
load BSETUP at the server. Change the page size to 4096 and the
largest record size to 17000. See Appendix C for more information.
25 CREATE I/O ERROR
The file specified could not be created. Possible causes are a
full disk directory or a full disk. If you are creating a file
over an existing file, Btrieve returns this status code if the
existing file is open or the operating system does not allow the
creation for some other reason (for example, a NetWare file is
flagged transactional).
26 NUMBER OF KEYS
The number of keys specified for the page size was invalid.
For standard Btrieve files with a page size of 512 bytes, the
number of key segments must be between 1 and 8. For larger page
sizes, the number of key segments must be between 1 and 24. You
must define at least one key without the null attribute.
27 INVALID KEY POSITION
The key field position specified exceeded the defined record
length for the file. Either the key position was greater than the
record length or the key position plus the key length exceeded the
record length. For key-only files, the key must begin in the first
byte of the record (position 1).
28 INVALID RECORD LENGTH
The record length was invalid. The record length specified
(plus overhead for duplicates) must be less than or equal to the
page size minus 6 or greater than or equal to 4 bytes long.
29 INVALID KEY LENGTH
The key length was invalid. The key length specified must be
greater than zero and cannot exceed 255. The length of a binary
key must be even. Btrieve requires that each key page in the
file is large enough to hold at least eight keys.
If the page size is too small to accommodate eight occurrences of
the specified key length (plus overhead), either increase the
file's page size, or decrease the key length.
30 NOT A BTRIEVE FILE
The filename specified is not a valid Btrieve file. Either the
file was not created by Btrieve, or it was created by an earlier
version of Btrieve.
Another possibility is that the first page of the file, which
contains the File Control Record, is damaged.
31 FILE ALREADY EXTENDED
The file specified has already been extended. A file can be
extended only once.
32 EXTEND I/O ERROR
The file could not be extended. Possible causes are that the
directory is full, the disk is full, or the disk is write protected.
34 INVALID EXTENSION NAME
The filename specified for the extended partition was invalid.
35 DIRECTORY ERROR
An error occurred while changing to the directory that contains
the Btrieve file. Either the drive specified in the Get Directory
operation does not exist or the pathname specified in a Set
Directory operation was invalid.
36 TRANSACTION ERROR
A Begin Transaction operation could not be performed because no
transactions were specified when the Btrieve was initialized.
37 TRANSACTION IS ACTIVE
A Begin Transaction was issued while another transaction was active
at that station. Transactions cannot be nested.
38 TRANSACTION CONTROL FILE I/O ERROR
An error occurred when Btrieve tried to write to the transaction
control file. Possible causes were that the disk was full, the
disk was write protected, or the transaction control file (which
was created when the Btrieve was loaded) was deleted.
39 END/ABORT TRANSACTION ERROR
An End or Abort Transaction operation was issued without a
corresponding Begin Transaction operation.
40 TRANSACTION MAX FILES
The application tried to update more than the maximum number of
files allowed within a transaction. The maximum number of
different files that can be updated during a logical transaction
is set when Btrieve is configured. Refer to your Btrieve
Installation and Operation manual for more information on
configuration.
41 OPERATION NOT ALLOWED
The application tried to perform an operation that is not allowed
at this time. Some operations are not allowed under certain
operating conditions. For example, Btrieve returns this status
code if you attempt to perform a Step, Update, or Delete operation
on a key-only file or a Get operation on a data only file.
lso, certain operations are prohibited during transactions because
they have too great an effect on the pre-image file or on Btrieve's
performance. These operations include Close, Set or Clear Owner,
Extend, Create Supplemental Index, and Drop Supplemental Index.
42 INCOMPLETE ACCELERATED ACCESS
The application tried to open a file that was previously accessed
in accelerated mode and never successfully closed. The file's
integrity cannot be ensured. Either use the RECOVER command in
the BUTIL utility to build a new file or restore the file using
the latest backup.
43 INVALID RECORD ADDRESS
The record address specified for a Get Direct operation was invalid.
The address is outside of the file's boundaries; it is not on a
record boundary within a data page, or on a data page. The 4-byte
address you specify for a Get Direct operation should be one that
was obtained by a Get Position operation.
44 NULL KEY PATH
The application tried to use the Get Direct operation to establish
an index path for a key whose value is null in the corresponding
record. Btrieve cannot establish positioning based on a null key
value.
45 INCONSISTENT KEY FLAGS
The key flags specification on a Create operation was inconsistent.
If a key has multiple segments, the duplicate, modifiable, and
null attributes should be the same for each segment in the key.
46 ACCESS TO FILE DENIED
The application opened a file in read-only mode and tried to
perform an Update, Delete, or Insert on that file. Another
possible cause is that the owner name required for updates was
not specified correctly when you opened the file.
47 MAXIMUM OPEN FILES
The number of files opened in accelerated mode exceeded the number
of buffers available in Btrieve's cache. When a file is opened in
accelerated mode, Btrieve reserves one of its cache buffers for the
file. Btrieve always reserves five empty buffers for index
manipulation. Reconfigure the Btrieve Record Manager with a
smaller page size parameter to allocate more buffers.
48 INVALID ALTERNATE SEQUENCE DEFINITION
The first byte of an alternate collating sequence definition
(the identification byte) did not contain the hexadecimal value AC.
49 KEY TYPE ERROR
The application tried to create a file or a supplemental index
with an invalid extended key type, or tried to assign an alternate
collating sequence to a binary key or key segment. You can only
assign an alternate collating sequence to a string, lstring, or
zstring key type.
This status code is also returned if you define a supplemental
index requiring an alternate collating sequence, and no alternate
collating sequence definition exists either in the file or in the
key definition passed in the data buffer.
50 OWNER ALREADY SET
The application tried to perform a Set Owner operation on a file
that already has an owner. Use the Clear Owner operation to
remove the previous owner before specifying a new one.
51 INVALID OWNER
There are two possible causes for this status code:
- If your application received this status code after
a Set Owner operation, the owner names specified in
the key buffer and data buffer did not match.
- If your application received this status code after
an Open operation, the file you tried to open has an
owner name assigned to it. Your application must
specify the correct owner name in the data buffer.
52 ERROR WRITING CACHE
While trying to make a cache buffer available, Btrieve tried to
write data to a logical disk drive from a file that was previously
opened in accelerated mode. An I/O error occurred during a write.
53 INVALID INTERFACE
An application tried to access a file containing variable length
records with a language interface from Btrieve v3.15 or earlier.
To access files with variable length records, you must use v4.xx or
later interface.
54 VARIABLE PAGE ERROR
During a Step Direct operation, Btrieve could not read all or part
of the variable length portion of a record. In this case, Btrieve
returns as much data as possible to your application. This error
usually indicates file damage to one or more pages in the file.
55 AUTOINCREMENT ERROR
The application tried to specify either the segmented or duplicate
attribute for an autoincrement key type. An autoincrement key
cannot be part of another key and cannot allow duplicates.
56 INCOMPLETE INDEX
A supplemental index was damaged. This can occur if a Create
Supplemental Index operation or a Drop Supplemental Index
operation is interrupted and does not run to completion. Perform
a Drop Supplemental Index operation to completely remove the index
from the file.
57 EXPANDED MEMORY ERROR
This error is applicable only in the client-based DOS environment.
Btrieve returns this status if it receives an error from the
Expanded Memory Manager. This error usually means that Btrieve
was unable to save or restore the memory mapping register context,
indicating an incompatibility with another application that uses
expanded memory.
58 COMPRESSION BUFFER TOO SHORT
The application tried to read or write a record that is longer
than the value specified for the size of the compression buffer.
Reconfigure the Btrieve Record Manager, specifying a higher value
for the "Maximum Compressed Record Size" option.
59 FILE ALREADY EXISTS
This status code is returned for the Create operation if you
specified -1 in the key number parameter and the name of an
existing file in the key buffer parameter.
60 REJECT COUNT REACHED
Btrieve rejected the number of records specified by the reject
count before an Extended Get/Step operation found the requested
number of records which satisfy the filtering condition. Check
the first two bytes of the data buffer returned for the number of
records that were retrieved.
61 WORK SPACE TOO SMALL
The Extended Get/Step operations use the pre-image buffer as
work space. This error code indicates that the work space was
not large enough to hold the filtering data buffer structure and
the largest record to be received. The size of the work space is
configurable (see the Btrieve Installation and Operation manual for
more information). Check the first two bytes of the data buffer
returned for the number of records that were retrieved.
62 INCORRECT DESCRIPTOR
The descriptor (data buffer structure), which is passed for an
extended Get or Step operation, is incorrect.
63 INVALID EXTENDED INSERT BUFFER
Extended Insert provides an invalid buffer. Either the buffer
length is less than five bytes, or the number of records specified
is zero.
64 FILTER LIMIT REACHED
During an Extended Get Next/Previous operation, a rejected record
was reached. Furthermore, this rejected record is such that no
other record can satisfy the given filtering condition, going in
the direction specified by the operation. This is applicable only
if the key specified by the key number is also used as the filtering
field.
65 INCORRECT FIELD OFFSET
The field offset in the extractor of an Extended Get/Step is invalid
based on the length of the retrieved record.
74 AUTOMATIC TRANSACTION ABORT
This is an informative status code and is applicable only in the
server-based environment. Btrieve replaced an End Transaction
operation with an Abort Transaction because an error had been
detected for a TTS file inside the transaction. In addition,
Btrieve executed the Abort Transaction operation.
78 DEADLOCK DETECTED
Btrieve detected a deadlock condition. The application should
clear all resources (such as aborting or ending the transaction or
releasing all record locks) before proceeding. This allows the other
applications to access the resources for which they are waiting.
80 CONFLICT
The Update or Delete operation could not be performed because the
record was changed by another application since your application
read the record. Reread the record prior to resending an Update or
Delete operation.
81 LOCK ERROR
This error can result from one of two conditions:
- The Btrieve lock table was full. Decrease the number
of locks that your application uses or reconfigure the
Btrieve Record Manager and specify a higher value for the
"Maximum Number of Record Locks" option.
- The application tried to unlock one record that was
locked with a multiple record lock, and the record position
stored in the data buffer did not correspond with any
record that was locked in that file.
82 LOST POSITION
When performing a Get Next or Get Previous on a key with duplicates,
the application tried to retrieve a record that was deleted or
whose key value was modified by another application. Re-establish
positioning using a Get Equal or a Get Direct operation.
83 READ OUTSIDE TRANSACTION
The application tried to delete or update a record within a
transaction, but the record was not read within the transaction.
If you are going to update or delete a record within a transaction,
you must read the record within the transaction to ensure you have
first obtained exclusive access to the data.
84 RECORD LOCKED
The application tried to apply a nowait lock on a record that was
currently locked by another application, or to apply a nowait lock
on a file while another application held active record lock(s) in
that file.
If this status code is returned, your application can use either
of the following two methods:
- Retry the operation until it is successful. Under light
to moderate network use, this may be the simplest and
quickest solution.
- Use the wait option (+100/+300) instead of the nowait
option.
85 FILE LOCKED
The application tried to apply a nowait record or file lock while
another application held the file locked. This status code is
also returned when the application tries to open a file outside of
a transaction and the file is locked by some other application.
If this status code is returned, your application can use either
of the following two methods:
- Retry the operation until it is successful. Under
light to moderate network use, this may be the simplest
and quickest solution.
- Use the wait option (+100/+300) instead of the nowait
option.
86 FILE TABLE FULL
Btrieve's file table was full. Reconfigure Btrieve and specify a
higher value for the "Maximum Number of Open Files" option.
87 HANDLE TABLE FULL
This status code is applicable only in the server-based and Windows
environments.
Btrieve's handle table was full. Reconfigure the Btrieve and
specify a higher value for the "Maximum Number of File Handles"
option.
88 INCOMPATIBLE MODE ERROR
The application tried to open a file in an incompatible mode. If
the first application to access a file opens it in accelerated mode,
all other applications must open it in accelerated mode. If the
first application to access a file opens it in non-accelerated mode,
other applications cannot open the file in accelerated mode.
90 REDIRECTED DEVICE TABLE FULL
This status code is applicable only in the server-based environment.
BREQUEST's redirection table or server routing table was full.
This occurs if you attach to additional servers or map to additional
drives after you loaded BREQUEST. Reload BREQUEST, specifying a
larger number for the "Number of File Servers" or "Number of
Mapped Drives" options (/S and /R respectively).
This error also occurs if you detach a particular server and attach
to a different server. Once a workstation has attached to a server,
BREQUEST will not remove its name from the server routing table.
91 SERVER ERROR
This status code is applicable only in the server-based environment.
BREQUEST could not establish a session with the server. In NetWare
environments, either the NetWare Btrieve Record Manager has not
been started or the server was not active. Verify that the
NetWare Btrieve Record Manager is active on the server in question.
92 TRANSACTION TABLE FULL
This status code is applicable only in the server-based environment.
The maximum number of active transactions was exceeded. Reconfigure
Btrieve and specify a higher value for the "Number of Concurrent
Transactions" option.
93 INCOMPATIBLE LOCK TYPE
Your application tried to mix single record locks (+100/+200) and
multiple record locks (+300/+400) in the same file at the same time.
All locks of one type must be released before a lock of the other
type can be executed.
94 PERMISSION ERROR
Your application tried to open or create a file in a directory
without the proper privileges. Btrieve does not override the
network privileges assigned to users.
95 SESSION NO LONGER VALID
This status code is applicable only in the server-based environment.
The previously established session was no longer active due to an
error at the workstation, the file server, or on the network.
Verify that your workstation is still attached to the file server
and then reload BREQUEST.
96 COMMUNICATIONS ENVIRONMENT ERROR
This status code is applicable only in the server-based environment.
This code occurs when loading Btrieve on a NetWare server. The SPX
connection table is full. Reload SPX, specifying a higher value
for the connection table. Refer to the NetWare system documentation
for more information.
97 DATA MESSAGE TOO SMALL
This status code is applicable only in the server-based environment.
Your application tried to read or write a record which was longer
than the Btrieve Record Manager or BREQUEST could handle.
Reconfigure the Btrieve Record Manager and specify a higher value
for the "Maximum Record Length" option. Reload BREQUEST and
specify a higher value for the /D option.
- For an Update, Insert, or Create operation, the application
receives this error if the data buffer length it specifies
for the record exceeds the length specified for the Btrieve
Record Manager or BSERVER.
- For a Get, Step, or Stat operation, the application
receives this error if the value specified for the data
buffer length is shorter than the length of the data Btrieve
would return, regardless of the data buffer length specified
in the program.
98 INTERNAL TRANSACTION ERROR
This status code is applicable only in the server-based environment.
An error has been detected while executing a previous operation on
a NetWare TTS file. Therefore, no operation other than Abort
Transaction (21) is allowed at this point.
99 THE REQUESTER CANNOT ACCESS THE NETWARE RUNTIME SERVER
The DOS Requester returns this status code when NetWare Runtime
server support is enabled (/C:1) and the Requester either detects
no existing connection or cannot find a valid login username.
If the Requester cannot find a login username other than
SUPERVISOR, there is no valid name to pass.
100 NO CACHE BUFFERS ARE AVAILABLE
Btrieve has used all the cache buffers it allocated at load time.
Using the Setup utility, you can increase the value for the Cache
Allocation configuration option. Alternatively, you can change the
Number of Remote Sessions configuration option to decrease the
number of concurrent Btrieve users. For more information, refer
to Chapter 3, "Installing and Configuring Btrieve," in the
Btrieve Installation and Operation manual.
101 INSUFFICIENT OPERATING SYSTEM MEMORY IS AVAILABLE
There is not enough operating system memory available to perform
the requested operation. Decrease the value for the Cache
Allocation configuration option (using the Setup utility),
decrease the number of concurrent Btrieve users (using the Number
of Remote Sessions configuration option in the Setup utility), or
add memory to the server. For more information on the configuration
options, refer to Chapter 3, "Installing and Configuring Btrieve,"
in the Btrieve Installation and Operation manual.
102 INSUFFICIENT STACK SPACE IS AVAILABLE
Btrieve has run out of stack space. To increase the amount of
stack space available to your application, relink the application,
setting the stack size to a higher value. Only the NLM
applications calling Btrieve on the local server get this message.
103 THE CHUNK OFFSET IS TOO BIG
A Get Direct/Chunk operation has specified an offset beyond the
end of the record, either explicitly or through the use of the
next-in-record bias to the subfunction value. Unless Btrieve
returns this status while processing the first chunk, the
operation was partially successful. Check the data buffer length
parameter immediately after the call to see how much data
(and therefore how many chunks) Btrieve retrieved.
This code can also be returned by the Update Chunk operation
when the specified offset is more than one byte beyond the end of
the record. However, in this situation, Status Code 103
indicates that Btrieve made no changes to the record.
104 THE LOCALE INFORMATION COULD NOT BE FOUND
The Create or Create Index function returns this status code to
indicate that the operating system was not able to return a
collation table for the country ID and code page specified.
Check that the application specified the locale's country ID and
code page correctly and that the operating system is configured to
support the country ID and code page.
105 THE FILE CANNOT BE CREATED WITH VARIABLE-TAIL ALLOCATION TABLES (VATS)
The application specified that a Btrieve file should be created
with Variable-tail Allocation Tables (VATs); however, the
application failed to specify that the file was to use
variable-length records (a precondition for files to use VATs).
This status applies to key-only files as well as regular data files.
106 THE OPERATION CANNOT GET THE NEXT CHUNK
The application called the Get Direct/Chunk operation to retrieve
a chunk from a record and used the next-in-record bias on the
descriptor subfunction. However, after the application
established its positioning in the record (but prior to this call),
the target record was deleted.
107 CHUNK UPDATES/RETRIEVALS CANNOT BE PERFORMED ON THE FILE
The application tried to use either a Get Direct/Chunk operation
or an Update Chunk operation on a pre-v6.0 formatted file.
2.2 Client-Based Btrieve for OS/2 and Windows Status Codes
Client-based Btrieve may return the following status codes in an OS/2 or
Windows environment.
1001 THE MULTIPLE LOCKS OPTION IS OUT OF RANGE
The number specified for the Multiple Locks configuration option
must be between 1 and 255, inclusive.
1002 BTRIEVE CANNOT ALLOCATE THE MEMORY NEEDED
Make sure that the workstation has enough memory to load all the
programs it requires.
1003 THE MEMORY SIZE IS TOO SMALL
Make sure the value for the Memory Size configuration option is
large enough to accommodate the required cache size.
1004 THE PAGE SIZE OPTION IS OUT OF RANGE
The value of the Page Size configuration option must be an even
multiple of 512, and it must be between 512 and 4,096, inclusive.
1005 THE PRE-IMAGE FILE DRIVE OPTION IS INVALID
You must specify a valid drive letter for the Pre-Image File Drive
configuration option.
Note: Pre-image files are used only for files created by Btrieve
versions earlier than v6.x, or by v6.x if it was loaded with the
Create Btrieve Files in Pre v6.x Format configuration option set to
Yes.
1006 THE PRE-IMAGE BUFFER SIZE OPTION IS OUT OF RANGE
The Pre-Image Buffer Size configuration option must be between
1 and 64, inclusive.
Note: Pre-image files are used only for files created by Btrieve
versions earlier than v6.x, or by v6.x if it was loaded with the
Create Btrieve Files in Pre v6.x Format configuration option set
to Yes.
1007 THE OPEN FILES OPTION IS OUT OF RANGE
The Open Files configuration option must be between 1 and 255,
inclusive.
1008 THE CONFIGURATION OPTIONS ARE INVALID
The configuration options specified contain invalid or
unidentifiable values. For more information on configuration
options, refer to the installation and operation manual for
your operating environment.
1009 THE TRANSACTION FILENAME OPTION IS INVALID
The filename specified for the Transaction Filename configuration
option is not valid. Check to make sure that the transaction
filename is correct.
1011 THE COMPRESSION BUFFER SIZE SPECIFIED IS OUT OF RANGE
The Compression Buffer Size configuration option must be between
1 and 64, inclusive.
1013 THE TASK TABLE IS FULL (WINDOWS ONLY)
The Btrieve DLL may return this status code if the task entry
table is full. You can remedy this situation by increasing the
number of available task entries; use the tasks initialization
option (tasks=xxx) under the [BTRIEVE] or [BREQUESTDPMI] headings
in NOVDB.INI. The minimum value for this option is 1; the maximum
value is 255.
1014 THE APPLICATION ENCOUNTERED A STOP WARNING
WBTRVSTOP () returns this status code if the application still has
open files or an active transaction. The application must close
all files and end all transactions before calling WBTRVSTOP ().
1015 A POINTER PARAMETER IS INVALID
One of the pointer parameters passed into Btrieve is invalid.
1016 BTRIEVE IS ALREADY INITIALIZED
The Btrieve DLL may return this status code if an attempt is made
to initialize Btrieve when it is already initialized. To
reinitialize Btrieve, close all files, end/abort all transactions,
and call WBTRVSTOP () before calling the initialization function.
1017 THE BTRIEVE REQUESTER FOR WINDOWS CANNOT FIND WBTRVRES.DLL
WBTRCALL.DLL returns this status code when it cannot find the
resource file WBTRVRES.DLL. You can remedy this situation by
placing a copy of the WBTRVRES.DLL file in the same directory as
the WBTRCALL.DLL file.
2.3 Btrieve Requester Status Codes
This section lists the status codes that the Btrieve Requesters may generate.
2001 THE MEMORY ALLOCATION IS INSUFFICIENT
In an OS/2 environment, the Requester cannot allocate enough
memory for the parameters specified with the BRQPARMS environment
variable. In a DOS environment, reduce the value specified for
the /D configuration option.
2002 THE OPTION IS INVALID OR OUT OF RANGE
In an OS/2 environment, either one of the options specified with
the BRQPARMS environment variable is invalid (such as /P instead
of /D) or the value specified for a parameter is out of range.
Check the SET BRQPARMS statements to make sure it is correct.
2003 THE REQUESTER DOES NOT ALLOW LOCAL ACCESS TO THE SPECIFIED FILE
The application attempted to access a file stored on a local drive.
The version of WBTRCALL.DLL installed at the workstation does not
allow access to local files.
2004 SPX IS NOT INSTALLED
Install the NetWare SPX v1.3 or later communications software for
OS/2.
2005 AN INCORRECT VERSION OF SPX IS INSTALLED
Install the NetWare SPX v1.3 or later communications software for
OS/2.
2006 THERE IS NO AVAILABLE SPX CONNECTION
SPX has already established the maximum number of sessions it can
handle. To increase the maximum, edit the NET.CFG file. Refer to
your NetWare documentation for more information on NET.CFG.
2007 A POINTER PARAMETER IS INVALID
One of the pointer parameters passed to Btrieve is invalid. Check
the program to ensure that the pointer parameters are correct.