              Btrieve v6.15.445 for NetWare
                     Server Edition
                       May, 1997
                       README.TXT

======================================================================
Contents
========
 1. General Information
 2. System Requirements
 3. File Listing
 4. Changes and Enhancements
 5. Documentation Updates
 6. Windows NT/Windows 95 Requester Issues
 7. Performance Issues
 8. New Features
 9. Requester Enhancements
10. Notes for Users with Btrieve v5.x Files
11. Developer Kits
12. Known Issues
13. Customer Support
14. Product Updates
15. Disclaimer

======================================================================
1. General Information
======================

Btrieve Technologies, Inc. has changed its name to Pervasive Software
Inc. effective July 1, 1996.  The name change reflects the company's
expanding role as a leading supplier of database technology designed
to bring client/server computing to the mass market.

This release includes a server engine and workstation requesters for
DOS, Windows, Windows NT, Windows 95, and OS/2.

This product release contains updates to the Windows 16-bit and 32-bit
requester components required for executing with Pervasive's ODBC v2.0
driver. Please refer to the Changes and Enhancements section of this
README file for specific requester changes implemented by this
release.

Btrieve for NetWare v6.15 is stratified by user counts, with versions
available for 10, 20, 50, 100, and unlimited users.  Multiple Btrieve
applications running from a workstation count as one user to the
MicroKernel Database Engine (MKDE).

The Btrieve requesters support NetWare pathname formats when
connecting to a NetWare file server and UNC (Universal Naming
Convention) pathnames when connecting to a Windows NT server.  UNC
pathnames to NetWare are supported using 32-bit requesters (from
Windows 95 and Windows NT client workstations). Drive letter pathname
specifications can be used for either NetWare or Windows NT servers.

The documentation states that WIN32S support is available with this
product. This feature is not supported. 32-bit application support is
only available on Windows 95, Windows NT, and OS/2.

======================================================================
2. System Requirements
======================

The system requirements are documented in the Installation and
Operation manual.  In addition to the information provided there, be
aware of the following issues.

* This product is installed from a Windows, Windows 95, or Windows NT
workstation.

* DOS and Windows workstations must run VLM.EXE v1.2 or later, or
NETX.EXE v3.32 or later. OS/2 workstations must run the NetWare OS/2
requester v2.11 or later.

* This product update has been tested using the Novell Client 32 for
Windows 95 and the Novell Client for Windows NT in conjunction with
Microsoft's NDIS drivers.  Testing was performed with the DOS, Win16,
and Win32 requester components.  We have not qualified this release
using the Novell Client 32 for Windows 95 or the Novell Client for
Windows NT in conjunction with the Novell 16-bit ODI drivers and do
not currently recommend use of that configuration. Windows NT
workstations must be v3.51 or later.

* This release includes the same Windows and Windows NT/95 requesters
as those packaged with Btrieve v6.15 for Windows NT - which now
support TCP/IP access to Windows NT servers. TCP/IP access for Btrieve
for NetWare is not available.

* This release includes a copy of the NetWare file NWSNUT.NLM that is
compatible with NetWare v3.11. It is installed by default in the
\BTI\NETWARE\SYSTEM directory. If you use NetWare v3.11 and you do not
already have a copy of NWSNUT.NLM, copy this file to your \SYSTEM
directory. If you use NetWare v3.12 or v4.x, use the copy of
NWSNUT.NLM provided with your NetWare system.

* This release contains improvements to the Install utility that avoid
conflicts associated with installing Btrieve v6.15 in an environment
where Scalable SQL 4 is installed. As part of installing in such a
"mixed" environment, you will be directed to use the user count
migration facilities of Scalable SQL 4 to upgrade your Btrieve
licensing. After installation and user count migration, you will need
to merge Btrieve-specific client requester components (BREQUEST,
BREQNT, WBTRCALL, WBTRVRES, WBTRTHNK, WBTRV32) from the Btrieve v6.15
installation directories into the appropriate client directories of
your Scalable SQL 4 environment (see the File Listing section below
for a listing of components).

======================================================================
3. File Listing
===============

The following files are copied to the specified directory on the
NetWare file server in which you install Btrieve for NetWare (for
example F:).  If you request a backup copy, the existing files are
copied into the backup directories as specified in the listing below.

Before installing this new version of Btrieve, flag the
Btrieve-related .NLM and .NCF files in the target directory as
read/write files. If the components being overwritten are flagged
read-only, a message "Error writing to destination drive" will be
returned during the installation.

NOTE:  BSTART.NCF, AFTER311.NLM, and A3112.NLM are always
       backed up.

Btrieve for NetWare v6.15 does not include .MSG files in the \SYSTEM
directory. The installation process deletes any existing .MSG files
you may have in the \SYSTEM directory.  If you request a backup copy,
the existing .MSG files are backed up.

By default, the target directories are:

TARGET_SYSTEM = F:\SYSTEM
TARGET_ROOT   = F:\BTI\NETWARE

      TARGET_SYSTEM
         BDIRECT.NLM
         BDROUTER.NLM
         BREBUILD.NLM
         BROUTER.NLM
         BSETUP.NLM
         BSPXCOM.NLM
         BSPXSTUB.NLM
         BSTART.NCF
         BSTOP.NCF
         BTIMSG.NLM
         BTRIEVE.NLM
         BTRMON.NLM
         BUTIL.NLM
         RSPXSTUB.NLM

      TARGET_ROOT\SYSTEM
         A3112.NLM
         AFTER311.NLM
         NWSNUT.NLM

      TARGET_ROOT\DEMODATA
         UPPER.ALT

      TARGET_ROOT\DOC
         BTICFG.TXT
         BTIINI.WRI
         README.TXT

      TARGET_ROOT\DOS\BIN
         BREQNT.EXE
         BREQNT.MSG
         BREQUEST.EXE
         BREQUEST.MSG
         BREQUTIL.EXE
         BREQUTIL.MSG
         BROLLFWD.EXE
         BROLLFWD.MSG
         BTI.CFG

      TARGET_ROOT\WIN\BIN
         BTI.INI
         DBU_UI.DLL
         NWIPXSPX.DLL
         NWLOCALE.DLL
         WBROLL.EXE
         WBROLLRS.DLL
         WBTICOMM.DLL
         WBTRCALL.DLL
         WBTRVRES.DLL

      TARGET_ROOT\WIN32\BIN
         W16NR.DLL
         W32BTICM.DLL
         W32NR.DLL
         W32RQCFG.EXE
         WBTRTHNK.DLL
         WBTRV32.DLL

      TARGET_ROOT\OS2\BIN
         BTICOMM.DLL
         BTRCALLS.DLL
         MKDELINK.DLL
         MKDESVCS.DLL
         NWLOCALE.DLL
         OS2NWBRQ.DLL
         PBROLL.EXE
         PBTRVRES.DLL

======================================================================
4. Changes and Enhancements
===========================

This section provides a brief description of the software changes and
enhancements since this product was released. Changes denoted with **
have taken place since the last update of this product. (Pervasive
Software defect tracking numbers have also been appended to the latest
changes.)

** A NetWare Btrieve hang associated with simultaneous processing of
over 120 file handles (cursors), with frequent file opens/closes
coupled with Get Direct (23) operations, for a period of 8-10 hours
has been fixed. [#8714]

** The BREQNT.EXE DOS requester problem with accessing files on a
Windows NT server when NetWare Runtime Server Support was enabled (/c
option) has been fixed. Previously, this requester was incorrectly
returning status 94 (permission error).  [#9892]

** The DOS requesters (BREQNT.EXE, BREQUEST.EXE) have been fixed to
eliminate problems on Windows NT 4.0 causing an application in one DOS
box to reset (by calling the Stop (25) or Reset (28) operations) the
Btrieve server connections for an application running in another DOS
box. [#9042, #9069]

** The 32-bit Btrieve interface, WBTRV32.DLL, no longer limits to 64
the number of unique client IDs it can process simultaneously (it is
now limited by the memory of your system).  [#9551]

** Prior to this release, the Update Chunk (53) operation had a
problem with losing record positioning. For example, issuing an Update
Chunk (53) followed by a Get Next Extended (36) operation could cause
the Get Next Extended (36) to incorrectly return a status 64 (filter
limit reached). This problem has been fixed.  [#9901]

** With this release, a problem with the following scenario has been
fixed: If you have a file with non-sequential key numbers, such as 0,
2, 3, and you read a record on key 2 and then update the value for key
2 specifying a key number of 2 on the update, the record will be
corrupted; the new key 2 value gets stored in key 0's bytes as well.
[#9983]

** This release fixes a problem whereby processing records in a large
compressed fixed length file could corrupt some of the records.
[#9918]

** Problems associated with the 16-to-32 bit thunker, WBTRTHNK.DLL,
returning status 20 (MicroKernel or Btrieve requester is inactive)
under heavy loads have been fixed. [#10037]

** A new command line parameter has been added to the DOS requesters,
BREQUEST.EXE and BREQNT.EXE, for specifying how many SPX Event Control
Blocks (ECBs) are allocated.  Previously, applications running from a
Windows NT Server or Workstation (versions 3.51 or 4.0) with Novell
Client for Windows NT would hang when opening Btrieve files on more
than three NetWare servers because of not allocating sufficient ECBs.
To avoid this problem, the parameter /e:<number of SPX ECBs> has been
added to BREQUEST.EXE and BREQNT.EXE, where <number of SPX ECBs> is
equal to the number of Btrieve servers that will be accessed from the
Btrieve DOS requester. For example, to open Btrieve files on five
NetWare servers, use
  
  BREQUEST /e:5
  
The default is three ECBs.  Please note that every ECB requires 622
bytes of memory. [#8955]

** In previous releases, using BREQUEST.EXE or BREQNT.EXE
from a Windows NT Server or Workstation (versions 3.51 or 4.0),
and executing requests to Btrieve running on NetWare 3.12 or 4.x,
the following error message could appear on the NetWare server:
   
    BSPXCOM-8: An SPX-level receive I/O error (1) has occurred.  
    The connection has been lost.

This messages indicates that BSPXCOM received a Btrieve request that
is not of the correct length.  This error occurs as a result of a
problem in VWIPXSPX.DLL on the Windows NT machine, which erroneously
sets the SPX End Of Message bit in certain situations.  Microsoft (for
Windows NT) and Citrix (for WinFrame) are aware of the problem and
working on solutions. Citrix has implemented hot fix #WF160519 for
WinFrame users.

As a temporary workaround to this problem, BREQUEST.EXE and BREQNT.EXE
have a new command line parameter which specifies a delay time on SPX
sends.  The parameter is /w:<wait time>, where <wait time> is the
length of time in hundredths of a second to wait after each 8K of data
is sent.  For example, to specify a wait of one half of a second, use

  BREQUEST /w:50

The default is zero (no delay between SPX sends).  The amount of time
BREQUEST needs to delay varies depending on how long it takes for each
individual SPX packet to be sent and acknowledged across the network.
For example, if each SPX packet requires five milliseconds for sending
and receiving an SPX acknowledgement, then 8K of data at 534 bytes per
SPX (a total of 16 SPX packets) packet would take approximately 80
milliseconds to be sent and acknowledged across the network.  Thus,
BREQUEST would need to wait approximately 80 milliseconds after each
8K of data to be sent in order to avoid the SPX End Of Message bit
error.

The recommended value for <wait time> is 50 (one half of a second).
If the problem persists, specify a larger value for <wait time> in
units of 10.  Please note that specifying a <wait time> may cause a
performance degradation.  When fixes to VWIPXSPX.DLL are available
from Microsoft, support for this command line parameter will be
removed. [#9641]

* When connecting to a NetWare server running Btrieve Windows
applications from a Windows 95 or Windows NT workstation engine,
authentication is now performed using the same user name and password
with which you are logged into the server rather than the Windows 95
or Windows NT login id. If you are not presently logged into the
target server, authentication will be attempted with the user name you
used in logging into your Windows 95 or Windows NT workstation.
This improvement eliminates a number of status 94 (permission
error) problems that occurred in previous releases.

* If you establish two connections to the same named database via ODBC
using the 16-bit requester (WBTRCALL.DLL, WBTICOMM.DLL), then logged
out of the second session, the first session would return status 204
(table is not defined in the dictionary) and eventually disconnect.
This problem is fixed in this release.

* The 32-bit Btrieve interface requester, WBTRV32.DLL, now supports
the following NetWare mixed-slash pathname convention:
server/volume:\path. Previously, only the server/volume:/path and
server\volume:\path conventions were supported. Note: all three of
these pathname conventions are already supported by the Windows 16-bit
and DOS requesters.

* Performance enhancements for the DOS requesters associated with
sending NCP (NetWare Core Protocol) packets to NetWare servers are
included with this release. Previously, the DOS requester was sending
NCP packets with an incorrect length field. This problem was masked
because the server performed an automatic reconstruction of
packets and did not report errors, although this reconstruction
resulted in a degradation of performance.

* The Windows 16-bit communications requester, WBTICOMM.DLL, has been
updated to call Novell's IPX/SPX layer NWIPXSPX.DLL directly.  In
previous releases, WBTICOMM.DLL required the Novell Transport Layer
Interface (TLI) DLLs, TLI_WIN.DLL and TLI_SPX.DLL. These two TLI DLLs
are no longer required.

* When an application performs a GET with explicit LOCK operation on a
record that has just been updated, the MKDE may lock the record again
before the system transaction completes the update operation.  This
causes multiple locks to be applied against the same record.  These
extra locks are not released causing another application to receive
status 84 when it attempts to read the same record.  This problem is
fixed in this update.

* In some situations, the MKDE does not correctly distinguish between
explicit and implicit record locks.  This can also result in an
application receiving status 84 when it attempts to read records with
lock.  This problem is fixed in this update.

* When a Btrieve file is very large (approaching 4GB) and the server
abends during a transaction that causes the file to exceed the 4GB
limit, the MicroKernel is unable to roll back the file when the server
is brought back up.  Instead, it causes the server to hang and the
file being rolled back is corrupted.  This problem is fixed in this
update.

* In prior versions of Btrieve v6.15, delta files reappeared after
Btrieve files which were backed up in continuous operation mode are
restored.  This update fixes this problem.

* The Btrieve operation Begin Transaction causes the user count to
be incremented on servers where Btrieve is installed, but not used.
With this update, the Begin Transaction operation is no longer
broadcast to all servers by the Btrieve DOS Requester.

* The Btrieve DOS Requester causes erroneous status 11's when running
applications in a DOS Box under OS/2 targeting a NetWare server.  This
problem is fixed in this update.

* From a Windows NT DOS session, the Btrieve DOS Requester returns
status 11 or 12 on an open operation.  This is only reproducible if
you have a preferred server set on your Windows NT workstation/server
when you login to Windows NT.  Status 11 occurs when opening file in
the working directory.  Status 12 occurs when opening file using a
relative path.  This update fixes this problem.

* When running the Btrieve DOS Requester (BREQNT.EXE) from a Windows
95 or Windows NT DOS Box and you specify a Btrieve file using a drive
letter and the full pathname, the DOS Requester returns status 35.
This update fixes this problem.

* When using the Btrieve DOS Requester from a Windows for Workgroups
DOS box, the requester will occasionally return status 95.  This
occurs when using the Microsoft SPX driver in Windows for Workgroups.
This problem is fixed in this update.

* The Btrieve DOS Requester now supports the BTRVID() function call.
To use this feature, you must load the Btrieve DOS Requester and
specify the /t value to set the number of concurrent clients that will
be accessing Btrieve via the BTRVID function call.  For example:

   BREQUEST /t:2

allows two concurrent clients access to Btrieve. Attempting to use
multiple concurrent clients without specifying this parameter will
cause a status 1013 to be returned to the application.

======================================================================
5. Documentation Updates
========================

The Registering Your Product section on page xvi contains a reference
to electronic registration.  Please disregard this statement.  Use the
enclosed registration card to register your product.

======================================================================
6. Windows NT/Windows 95 Requester Issues
=========================================

If you are using the Windows NT/Windows 95 requester to Btrieve on a
NetWare file server, please review the following section for
additional information about setting up your requester configurations.
This document supplements information in Chapter 4 of the Btrieve for
NetWare Installation and Operation manual.

Network Configuration
---------------------

From a Windows NT server: Either the Microsoft Gateway Service for
NetWare or Novell's Client for Windows NT must be loaded on the
Windows NT server. To load the Microsoft software, choose the Network
Settings icon from the Control Panel group. In the Installed Network
Software list, Gateway Service for NetWare appears. If it does not,
choose Add Software to install it.  Alternatively, you can obtain the
Novell Client from the Novell support web site at
http://support.novell.com.

From a Windows NT workstation: Either the Microsoft Client Service for
NetWare or Novell's Client for Windows NT must be loaded on the
Windows NT workstation.  You load the Client Service for NetWare as
previously described for the Gateway Service for NetWare.
Alternatively, you can obtain the Novell Client from the Novell
support web site at http://support.novell.com.

From a Windows 95 workstation: Either the Microsoft Client for NetWare
Networks or Novell's Client 32 for Windows 95 must be loaded on the
Windows 95 workstation.  You can obtain the Novell Client 32 from the
Novell support web site at http://support.novell.com.

Access to Btrieve v6.10 for NetWare servers using the 32-bit
communications requester, W32BTICM.DLL, is disallowed. (This
configuration was problematic and had not been supported by previous
releases of Btrieve v6.15 for NetWare.)  If you attempt to access a
Btrieve v6.10 server using the 32-bit requester, status code 96
"Communications Environment Error" will be returned.

For both Windows NT and Windows 95 workstations, W32BTICM.DLL
allocates a 64KB communications buffer for remote communications.  You
cannot change this value.

For Windows 3.1 and Windows for Workgroups client workstations, you
must also have NWCALLS.DLL and NWIPXSPX.DLL in your Windows system
directory on the workstation. You can download these files from the
Novell CompuServe forum NOVFILES.

Server Support
--------------

In order to use the Windows NT/Windows 95 requester with Btrieve for
NetWare you must be running the BSPXCOM.NLM v6.15.824 provided with
this release.  Depending on your network architecture, you may need to
load this new BSPXCOM.NLM with a new parameter: Maximum SPX Receive
Packet Size (-r).  This parameter defaults to 576, and you should set
it to match the value your topology uses (maximum is 4096).  For
example, in an ethernet network, load BSPXCOM with -r=1500.

If you do not load BSPXCOM.NLM with an appropriate -r parameter, a
Btrieve status code 95 (Session No Longer Valid) may be returned to
applications using the new 32-bit Windows Requester on a Windows NT or
Windows 95 workstation.  Add this parameter to the LOAD BSXPCOM line
of BSTART.NCF.  Currently, the Btrieve Setup utility (BSETUP.NLM) does
not support this configuration option.  If you use BSetup to change
your configuration, BSTART.NCF is updated and you lose the -r setting
on the LOAD BSPXCOM line.  Make sure you re-add this option before
using the BSTART command to load Btrieve v6.15.

32-bit Windows Application Support
----------------------------------

To access Btrieve for NetWare from a 32-bit Windows application from a
Windows NT or Windows 95 workstation, be sure you have the following
files in your path:

  WBTRV32.DLL  (Btrieve 32-bit Interface)
  W32BTICM.DLL (Windows NT and Windows 95 Communications Requester)

W32BTICM.DLL replaces NTBTICOM.DLL as referenced in the Btrieve for
NetWare Installation and Operation manual.

The WBTRV32.DLL reads configuration information from the workstation's
registry rather than from an INI file.   When this DLL loads, if there
are no registry entries for Btrieve, it assumes the initialization
settings corresponding to the 16-bit BTI.INI settings Requester=yes
and Local=yes.  With  this configuration, the requester handles all
access to files located on the NetWare server.

16-Bit to 32-Bit Windows Application Support
--------------------------------------------

* If you are running a 16-bit Windows application on a Windows 95 or
Windows NT client workstation (Windows-on-Windows) and you wish to
utilize the 32-bit requester components (WBTRV32.DLL and W32BTICM.DLL)
to connect to a Btrieve server be sure you have the following files in
your path:

  WBTRCALL.DLL (Btrieve 16-bit Windows Interface)
  WBTRTHNK.DLL (16-bit to 32-bit Thunker)
  WBTRV32.DLL  (Btrieve 32-bit Interface)
  WBTRVRES.DLL (Windows Requester Resource)
  W32BTICM.DLL (Windows NT and Windows 95 Communications Requester)
  NWLOCALE.DLL (included in WIN\BIN directory)
  NWCALLS.DLL  (available from Novell)
  W16NR.DLL    (Windows 95 and NetWare target server only)
  W32NR.DLL    (Windows 95 and NetWare target server only)

Also configure Btrieve as follows:

  a) Use a text editor to edit the [Btrieve] section of your BTI.INI
     file (located in the Windows 95 or Windows NT system root
     directory) as follows:

       local=No
       requester=No
       thunk=Yes

     Caution: If you set requester=Yes, the 16-bit communications
     component (WBTICOMM.DLL) will get loaded and you may experience
     communication errors with status 20 (Microkernel or Requester
     Not Loaded) being returned to your application.

  b) Verify that the following entry in the Windows 95 or Windows NT
     registry is set to 1 or does not exist: HKEY_LOCAL_MACHINE\
     Software\Btrieve Technologies\Microkernel Workstation Engine\
     Version 6.15\Microkernel Interface\Settings\Requester.

An updated version of WBTRTHNK.DLL file is included in this release.
It is installed in the \WIN32\BIN directory.  Make sure this DLL and
directory are in your search path ahead of any older versions that may
have been shipped with previous releases of Btrieve.

* If you are running a 16-bit Windows application on a Windows 95 or
Windows NT workstation and you wish to use 16-bit requester components
(WBTRCALL.DLL and WBTICOMM.DLL) to connect to a Btrieve server, then
configure Btrieve as follows:

  a) Use a text editor to edit the [Btrieve] section of your BTI.INI
     file as follows:

       local=No
       requester=Yes
       thunk=No

Also, make sure that the following files are in your path:

  WBTRCALL.DLL
  WBTRVRES.DLL
  WBTICOMM.DLL
  NWLOCALE.DLL
  NWCALLS.DLL
  NWIPXSPX.DLL (if using SPX/IPX communications)

The 16-to-32-bit thunking configuration described previously is
preferred over the 16-bit configuration when running on Windows 95 or
Windows NT workstations.

Status Code 94 - Permission Error
---------------------------------
You may receive status code 94 when using the client/server Btrieve
for NetWare with the 32-bit Btrieve Requester for Windows NT/Windows
95.

The 32-bit requester always uses the MicroKernel Database Engine's
runtime server support to check a client's rights to a file. To do so,
it uses the user name and password with which you are logged into the
server or, if you are not presently logged into the target server,
authentication is attempted with the user name used in logging into
your Windows 95 or Windows NT workstation. Based on this algorithm,
the MKDE verifies if the client has the proper rights and privileges
to access the Btrieve files on the targeted Btrieve server. You must
ensure that the client has rights to access the appropriate files or
you will get status 94 permision errors.

For example:

  a. Login name USER1
  Log in to the workstation and Btrieve server using login name USER1.
  As long as USER1 has the proper privileges to the Btrieve files,
  file access is successful.

  b. Login name USER1 and USER2
  Log in to the workstation using login name USER1.  Then log in to
  the Btrieve server using login name USER2. As long as USER2 has the
  proper privileges to the Btrieve files, file access is successful.

======================================================================
7. Performance Issues
=====================

The Setup configuration option Cache Allocation has a default value of
512 KB.  You may find that you get better performance with the Cache
Allocation option set to 2048 KB or larger.  To change the setting of
this option, use the Setup utility.  See your Installation and
Operation manual for details on using the Setup utility.

======================================================================
8. New Features
===============

This section provides a brief description of new features introduced
with the release of Btrieve v6.15.

Btrieve for NetWare v6.15 (Server Edition) is based on the MicroKernel
Database Architecture, which was introduced in August, 1994.  The core
feature set and code base is comparable to that in the Btrieve for
Windows v6.15.2 or later and Btrieve for DOS v6.15.1 or later
workstation database engines.  Btrieve for NetWare (Server Edition)
provides the ability to run applications in a client/server
environment.

* With Btrieve for NetWare v6.15 (Server Edition), continuous
operation support has been redesigned to remove the dependency on
NetWare sparse files.  An administration utility, BUTIL.NLM, running
on the NetWare server, enables the system administrator to put a set
of Btrieve files in continuous operation mode.  With this feature, you
can perform a backup of your Btrieve data without interrupting your
application's read and write access to your Btrieve files.

* To support the Btrieve for Windows 95 Requester, an additional
command line parameter has been added to BSPXCOM.NLM in this release.
This parameter, -r, allows you to configure the maximum SPX receive
packet size.  The default and minimum is 576 and the maximum is 4096.
If you are using the Btrieve for Windows 95 Requester, load BSPXCOM on
your NetWare server with the -r parameter set to a value appropriate
for your network topology.  For example, on an ethernet LAN, set
-r=1500. Consult your network administrator for information on how
this parameter should be set in your environment.

* Performance in this version has improved compared with Btrieve
v6.10. If you have large files and you configure the cache size to use
at least 2MB of memory for caching, performance will improve,
particularly on Insert and Update operations.

* If a "record in use" status is returned on a Get/Step extended
operation that uses locks, records are read up to the point at which
the "record in use" was detected.

* Support for NUMERICSA data type.  This is a COBOL data type similar
to the NUMERIC datatype.  The NUMERIC type supports an EBCDIC embedded
sign, while the NUMERICSA supports an ASCII embedded sign.

* Index segments can overlap AUTOINC keys, if the AUTOINC key has a
lower index number than the segmented one containing the AUTOINC type.

* Single record locks are not released after a failed GET w/lock
operation.

* The No Currency Change option can be used with Insert and Update
operations in a data only file.

* There is no upper limit on the lock table, except that each lock
requires 32 bytes from the MKDE's general cache.

* Extended Get and Step operations can succeed even if the Extended
Ops buffer size of the MKDE is configured too small to contain a
record being filtered. With this release, the buffer needs only to be
large enough to contain all fields of the record being extracted or
used in the filter expression.  This makes it easier to use Extended
Ops with huge records.

* Support for record lengths larger than 4088 bytes in compressed
files.

======================================================================
9. Requester Enhancements
=========================

* The BREQNT.EXE executable is a DOS Requester for local area networks
that use Windows NT or a combination of Windows NT and Novell NetWare.
BREQNT uses the same command line parameters as those used by
BREQUEST.

* For the Windows platform, a true DLL Requester is provided.  You no
longer need to load the Btrieve DOS Requester prior to loading Windows
in order to access Btrieve data from your Windows application.

* The OS/2 Redirector (BTRCALLS.DLL) works in conjunction with the
OS/2 Requester to provide access to local and remote files without any
conversion. If you have a v5.10 OS/2 workstation engine (BTRLOCL.DLL),
you can still access it using MKDELINK.DLL.

* A Windows NT Requester, a DOS Requester for Windows NT, and a
Windows 95 Requester are part of this package. The Windows NT and
Windows 95 Requester provides access to both NetWare and Windows NT
servers.

* W32RQCFG.EXE is a standalone protocol configuration utility located
in the WIN32\BIN directory for configuring TCP/IP and SPX access to
Btrieve for Windows NT. This utility is included with this release for
completeness; its use in NetWare server configurations is unnecessary
since only SPX is supported in a NetWare environment. Please refer to
your Btrieve for Windows NT README file (or contact Pervasive Customer
Support) for information on how to use this utility.

======================================================================
10. Notes for Users with Btrieve v5.x Files
===========================================

The File Rebuild utility (BREBUILD.NLM) is an NLM utility that you can
use to convert files in Btrieve v5.x format to v6.x format. Doing so
enables you to take advantage of the v6.x features and also may
improve performance. However, it is not necessary to convert 5.x
files; the MicroKernel Database Engine v6.15 can read and update 5.x
files without any special configuration.  For details, see the Btrieve
for NetWare Installation and Operation manual.

======================================================================
11. Developer Kits
==================

To write and distribute custom applications using Btrieve, you must
have a Btrieve Developer Kit. The Developer Kit contains the tools to
write your application. Developer Kits are available for Windows, DOS,
OS/2, Windows NT, and Windows 95.

======================================================================
12. Known Issues
==================

* You may experience status 20 (Btrieve not loaded) or status 94
(permission error) using the 32-bit Windows requester to open a file
on a NetWare v4.1x server if the user is logged into the server via
NetWare Directory Services (NDS). This configuration requires use of
the Novell Client software on the Windows NT or Windows 95
workstation. Refer to the Pervasive web site (www.pervasive-sw.com) or
CompuServe forum (GO BTRIEVE) for more details on using Btrieve in an
NDS environment.

* You may receive status 12 (File not found) when using the Windows
NT/Windows 95 requester to a NetWare v4.10 file server.  To resolve
this problem, install a copy of Novell's CLIB patch update,
LIBUP9.EXE.  This patch update is available from Novell.

* You may occasionally receive a status 2 (I/O Error) when running
Btrieve on a NetWare v4.10 server.  If you down the NetWare server and
reload it, the status 2 problem does not reappear.  Novell has a patch
that will temporarily resolve this status 2 problem, which seems to be
a corrupted turbo fat cache.  The patch disables this feature.  Novell
expected a degradation in performance, but none of the customers
currently using the patch have indicated such a degradation.  This
patch is available on Novell's BBS 801-373-6999 or from
ftp://ftp.novell.com/incoming.  It is called TURBOD.EXE and is a
beta patch.

Refer to the README included with the patch for information on running
it. Issues dealing with installation or problems with this patch
should be directed to Novell Technical Support.

* The 6.15.x workstation engines (DOS and Windows) are able to open
and read a file that is already open by the 6.1x NLM without receiving
a status code 94.  Although there is no danger of corrupting your
files because Write operations return a status code 46 (Access
Denied), ensure that workstations do not open files that the NLM has
opened. The workstation engines may see the file in an inconsistent
state. This might cause the workstation engines to report status Code
2 (I/O Error), or to show uncommitted data.

* You may experience Btrieve status code 95 (Session No Longer Valid)
or status code 12 (File Not Found) at random from an OS/2 workstation
running the NetWare Requester v2.12. Novell has patches available for
the requester that fixes these problems. You must download and install
the latest patches from Novell for both client and server updates.
These can be obtained from the Novell web site (http://www.novell.com).

* The Windows Requester DLL does not process OEM characters correctly.
If you try to use the Windows Requester with a filename containing OEM
characters, you receive status code 12, indicating that the MKDE
cannot find the specified file.  If you need to use filenames with OEM
characters, use the version of the Windows Requester prior to this
release (WBTRCALL.DLL v6.15.1, which requires that the DOS Requester,
BREQUEST.EXE, also be loaded). Pervasive Software Inc. is working with
Novell to solve this problem.

* Users of Cheyenne ARCserve v5.01 for NetWare (Windows Edition)
experience GPFs (General Protection Faults) using the Windows
Requester at a Windows workstation. Cheyenne is aware of this problem
and has updates available to correct it. Contact Cheyenne for more
information.

* With the Windows Requester (WBTRCALL.DLL), you may receive a status
code 20 when opening a file. To avoid this problem, make sure that the
latest NWCALLS.DLL and NWIPXSPX.DLL files from Novell are installed in
your path.

* With this Windows Requester (WBTRCALL.DLL) on a Windows 3.1 or
Windows for Workgroups machine, you may experience an Application
Error "Call to Undefined Dynalink" if you have the BTI.INI parameter
Thunk set to Yes. To avoid this problem, set the Thunk parameter to No
in the [Btrieve] section of your BTI.INI file when you are running on
a Windows or Windows for Workgroups workstation.

* If you use the Windows DLL to open a file after installing Btrieve
for NetWare v6.15, you may receive a status code 11, indicating that
the filename is invalid.  In this case, ensure that you have two
Novell files, NWIPXSPX.DLL and NWCALLS.DLL available in your search
path.  Both files are available from Novell on CompuServe.
NWCALLS.DLL is also required for access from 16-bit applications to a
NetWare file server from a Windows 95 workstation.

* If you attempt to put 299 or more files into continuous operation
mode at the same time and the MKDE is configured for a 2MB cache
(-m=2048), the server will hang.  You can avoid this hang by setting
the cache size to at least 2560 (-m=2560).

* This release of the Btrieve Windows requester does not work
correctly with the OS/2 Citrix server or a Windows workstation
accessing a NetWare server via the OS/2 Citrix WinView product.
You may experience status 20 (Btrieve no loaded) in these
environments.

======================================================================
13. Customer Support
====================

Pervasive Software Inc. provides Customer Support to assist you with
your Btrieve product.  Refer to your documentation for details and
contact information on Pervasive Software's Customer Support programs.

======================================================================
14. Product Updates
===================

Pervasive Software Inc. may periodically release product updates for
some of the components in this package.  These product updates may
provide new functionality, support new application environments, or
fix problems identified after product release.

These updates often address a specific problem that a particular site
experienced. This product is used in a very diverse set of
configurations worldwide. Updates may or may not be needed for your
particular installation. We recommend that you carefully review the
documentation included with the update prior to installation of the
update to determine if your application requires it.  However, if you
are experiencing problems with this product, it is recommended that
you try the latest update to see if the problem has already been
resolved before contacting Pervasive Software Inc. Customer Support.

To determine if there is a product update available for this package,
check the Btrieve forum on CompuServe (GO BTRIEVE) or the Customer
Support section of the Pervasive Software Inc.  Web site
(www.btrieve.com) for Product Update Information.  If an update is
available, instructions for obtaining the update are also provided.

======================================================================
15. 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.

(c) Copyright 1982-1997, Pervasive Software Inc.
All Rights Reserved Worldwide

**End of README.TXT**
