***********************************************************
              BDE and SQL Links Release Notes
***********************************************************

This file contains important, late-breaking information
about the Borland Database Engine (BDE) and SQL Links for
Windows, including revisions to the documentation.
Information in this file supersedes information in the BDE
and SQL Links documentation where they differ from this
file.


TABLE OF CONTENTS
===========================================================
  1. TIPS FOR USING THE BDE AND SQL LINKS
     1.1 Where to start: SQL Links
     1.2 Where to start: BDE
  2. BEHAVIOR CHANGES
     2.1 Performance Improvements on DbiModifyRecord
     2.2 Transaction Isolation Levels & InterBase
  3. DISTRIBUTING THE BDE AND SQL LINKS
  4. BDE AND SQL LINKS DOCUMENTATION
  5. UPDATES, TECHNICAL INFO, AND LATE-BREAKING NEWS
  6. CONFIGURING THE BDE
  7. DOCUMENTATION UPDATES
  8. KNOWN PROBLEMS


1. TIPS FOR USING THE BDE AND SQL LINKS
===========================================================
1.1 Where to start: SQL Links
-----------------------------
For information about configuring and connecting to SQL
servers, see the Help file SQLLNK32.HLP. This Help file
also contains a "Hints, Problems, and Notes" topic with
tips and troubleshooting information. This help file is
installed in the main BDE directory.

Availability of SQL Links is dependent on the INPRISE
product used. Consult the documentation for the specific
INPRISE product used to see whether SQL Links is included.

1.2 Where to start: BDE
-----------------------
For information about configuring the BDE, working with
aliases, and making ODBC driver accessible to the BDE, see
the Help file BDEADMIN.HLP. For information on BDE API
functions, see the Help file BDE32.HLP (availability
dependent on the product with which the BDE was installed).
For information on migrating data between databases using
the Data Pump utility, see the Help file DATAPUMP.HLP. For
information on using SQL with local tables (dBASE and
Paradox) see the Help file LOCALSQL.HLP. All of these BDE
Help files are installed in the main BDE directory.


2. BEHAVIOR CHANGES
===========================================================
2.1 Performance Improvements on DbiModifyRecord
-----------------------------------------------
DbiModifyRecord no longer generates an UPDATE statement on
unchanged record buffers. This improves performance.

2.2 Transaction Isolation Levels & InterBase
--------------------------------------------
By adding 4096 to the setting of DRIVER FLAGS in the
Borland Database Engine (BDE) configuration, you can
specify that the InterBase SQL Links driver should use soft
commits. Soft commits are a feature of InterBase that let
the driver retain the cursor when commiting changes. Soft
commits improve performance on updates to large sets of
data. When not used, the BDE must re-fetch all the records,
even for a single record change. With soft commit the
cursor is retained, and a re-fetch is not needed. Soft
commits are never used in explicit transactions started by
BDE client applications.

  DRIVER FLAGS  Isolation level  Commit type
  ------------  ---------------  ------------
  0             Read committed   hard commit
  512           Repeatable read  hard commit
  4096          Read committed   soft commit
  4608          Repeatable read  soft commit


3. DISTRIBUTING THE BDE AND SQL LINKS
===========================================================
See the file BDEDEPLOY.TXT for specific information
regarding redistributing the BDE and SQL Links with
applications. This file is found in the main BDE directory.


4. BDE AND SQL LINKS DOCUMENTATION
===========================================================

Documentation for the Borland Database Engine (BDE) and SQL
Links is only available in the form of on-line Help files
(see "1. TIPS FOR USING THE BDE AND SQL LINKS" for the
names of these files). When the information in the on-line
Help files and this file conflict, the information in this
file should be considered correct.


5. UPDATES, TECHNICAL INFO, AND LATE-BREAKING NEWS
===========================================================
Updates to the Borland Database Engine (BDE), SQL Links,
and documentation for the two may be distributed in a
number of ways. Updates are typically always available from
the BDE Developer Support Web page. See the URL:

  http://www.inprise.com/devsupport/bde/

The BDE Developer Support Web page also contains tips,
links to Technical Information sheets (TIs), examples, and
other useful technical information.


6. CONFIGURING THE BDE
===========================================================
The Borland Database Engine (BDE) comes with the utility
program BDE Administrator. Installed in the main BDE direc-
tory, this utility is used to: configure the BDE; add,
delete, and modify BDE aliases; configure database drivers;
and connect to installed ODBC drivers (this latter
operation not available with all programming tools with
which the BDE is installed).

While the installation programs for some programming tools
that include the BDE allow SQL Links to be installed in a
different directory, we highly recommend you install SQL in
the same directory as the BDE. (SQL Links is not available
with all versions of programming tools.)


7. DOCUMENTATION UPDATES
===========================================================
7.1 New Oracle 8 REF Field Property: curREFINSERTTABLENAME 
----------------------------------------------------------
When inserting records with a cursor opened with
DbiOpenRef(), BDE needs to know the name of the stand-alone
table into which you wish to insert the record. If this
property has not been set, an error will occur.

  DbiSetProp( hCur, curREFINSERTTABLENAME, (UINT32)
    <pszStandAloneTableName> );

7.2 New Oracle 8 REF Field Property: curGETREF
----------------------------------------------
After inserting a record, the object ID for the newly
inserted record can be obtained by allocating space (the
iLen of the parent's REF field), and  passing this into
DbiGetProp().

  DbiGetProp( hCur, curGETREF, pOBJECTID, refSize,
    &iObjectLen );


8. KNOWN PROBLEMS
===========================================================
8.1 Oracle 8
------------
The latest Oracle 8.0.4 client is required to work with the
Oracle 8 driver (SQLORA8.DLL). There are known problems in
the Oracle 8.0.3 client.

The BDE does not support reference to object members
within live queries.

The BDE does not support indexes with nested tables.

COLLECTION (NESTED TABLE/VARRAY) and REFERENCE access:
there is a memory loss when fetching data from and
navigating through NESTED TABLE data. This is an Oracle
problem, Oracle problem #593042. The fix for this will be
available from Oracle in the OCI 8.0.4.2 patch.

Memory leakage when executing a query many times.
Workaround : call DbiQFree() and DbiQPrepare() every time
the query is executed.


8.3 Sybase CT-LIB SQL Links Driver
----------------------------------
The CT-Lib driver works with Sybase version 10.0.4 EBF7264
or higher.

8.4 Sybase SQL Links Driver
---------------------------
There is an additional parameter setting not documented:
CS CURSOR ROWS, with a default value of 1. The value of the
CS CURSOR ROWS setting defines the number of  rows that the
server returns to Client-Library  per internal fetch
request. The default setting is 1. For example, if CS
CURSOR ROWS is set to 5, Client-Library makes an internal
fetch request when an application calls fetch the first
time, the sixth time, and so on. In general, a higher CS
CURSOR ROWS setting can benefit application performance
when processing a read-only cursor. A higher CS CURSOR ROWS
setting decreases the number of network round trips
required to fetch rows. However, if CS CURSOR ROWS is set
too high and Client-Library must buffer rows, the buffering
overhead can outweigh the gains achieved by decreasing the
number of round trips.


===========================================================
Unless otherwise noted, all materials provided in this
release are Copyright 1983 - 1998 by INPRISE Corporation.
========================= END =============================
                                                  
