***********************************************************
              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
  2. BEHAVIOR CHANGES
  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 drivers accessible to the BDE, see
the Help file BDEADMIN.HLP. For information on BDE API
functions, see the Help file BDE32.HLP. 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 InterBase Changes
---------------------
2.2.1 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 committing 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. The soft commit property
corresponds to the COMMIT RETAINING transaction option in
the InterBase documentation.

  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

The 4096 driver flag bit only affects implicit transaction
behavior. Use the COMMIT RETAINING property to control the
default commit behavior of explicit transactions.

2.2.2 Roles
-----------
InterBase allows users to log in by specifying a role.
ROLE NAME is a new BDE configuration parameter that allows
BDE clients to pass a role name. ROLE NAME can also be
passed as an optional parameter when using a TDatabase
component (Delphi and C++Builder). 

This information supersedes that in the InterBase 5.5
Operations Guide, which indicates that the BDE has no
property for specifying a role name.

2.2.3 Transaction WAIT
----------------------
Currently, the InterBase SQL Links driver uses NOWAIT when
resolving lock conflicts and returns an error immediately
if there is a resource conflict. Setting the WAIT ON LOCK
configuration parameter allows SQL Links to use WAIT on
InterBase transactions. This can also be done by setting
the r/w database property dbWAITONLOCK to TRUE.

2.2.4 Explicit transactions
---------------------------
The new BDE configuration parameter COMMIT RETAIN allows
explicit transactions to use soft commit. The new database
property dbCOMMITRETAIN also does this. Only explicit
transactions are affected. The existing driver flags are
still valid for explicit transactions.

  COMMIT RETAINING = TRUE    calls isc_commit_retaining()
  COMMIT RETAINING = FALSE   calls isc_commit_transaction()

2.3 Y2K and the FOURDIGITYEAR and YEARBIASED Parameters
-------------------------------------------------------
The information for the FOURDIGITYEAR and YEARBIASED
parameters has changed. The following supersedes the
descriptions in the BDE Administrator online help.

FOURDIGITYEAR
  Determines how the BDE treats the century portion of a
  date when only the last two digits of a year are
  specified. If set to FALSE, the century part of the
  date's year is added automatically based on its relative
  position in a baseline range. If the date falls between
  01/01/00 and 12/31/49, the year is considered to be in
  the 21st century (05/20/22 becomes 05/20/2022). If the
  date falls between 01/01/50 and 12/31/99, the date is
  considered as being in the 20th century (12/08/98 becomes
  12/08/1998). A TRUE setting has no effect on dates
  expressed with a century (the year of a new date of
  12/30/1902 remains 1902).
  
  If set to TRUE, the year for the date is assumed to be
  literal (no century digits automatically prefixed to the
  date). For example, a date expressed as 07/72/96 is
  considered to be the year 96 (0096).
  
  FOURDIGITYEAR has an effect in such places as date
  literals in SQL statements.

YEARBIASED
  Tells the BDE application whether or not it should add
  the century to years entered as two digits. For example,
  if TRUE and you enter "7/21/96," the BDE application
  interprets your value as "7/21/1996". If set to FALSE,
  the date is interpreted as entered (in this case,
  "7/21/0096"). YEARBIASED uses the same range
  considerations as FOURDIGITYEAR for determining the
  century used.


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
===========================================================
5.1 How To Get Updates
----------------------
Updates to the Borland Database Engine (BDE), SQL Links,
and documentation for the two may be distributed in a
number of ways. Updates are 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.

5.2 New MS-SQL Server 7 Driver
------------------------------
The SQL Links (not available with all editions of Inprise
programming tools) driver for Microsoft SQL Server now
supports version 7, in addition to support in the same
driver for version 6.5.

SQL Links uses DBLIB (native API for MS-SQL Server).
DBLIB only implements the MS-SQL Server 6.5 feature set.
This means that new types in MS-SQL Server 7 like GUID,
Unicode, and CHAR columns longer than 255 characters are
not supported. Microsoft will not be adding support for
these new types to DBLIB, so the SQL Links driver does not
support these new MS-SQL Server 7 types.

Both Microsoft and Inprise strongly recommend that you use
the client software appropriate for the version of MS-SQL
Server used. That is, use version 6.x client software only
with 6.x server software and version 7 client software only
with version 7 server software.


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 that you install
SQL Links 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
issue, 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 BDE & CGI Applications [43890][12552]
--------------------------
In CGI applications, if the volume of BDE initializations
is high enough (varies with circumstances), error
"Operation not applicable occurs." Only known workaround is
to use ISAPI instead of CGI.

8.5 DbiBatchMove & dBASE/Paradox to Sybase [13320]
------------------------------------------
DBiBatchMove with Mode value of batCOPY fails when copying
data from Paradox or Dbase table to Sybase table. Failure
is indicated by error "General SQL error."

8.6 SQL Explorer & Sybase 11.5 and Above [43494]
----------------------------------------
Applied to Enterprise edition of BDE-using programming
tools only). Edit DBX.DBI with a text editor (such as
NotePad). DBX.DBI is located in the directory in which SQL
Explorer was installed. Change the line:

  SYBASE:IdentityRE=SQL Server/([0-9]+)\.
  
The line should be changed to:

  SYBASE:IdentityRE=[SQL Server][Adaptive Server Enterprise]/([0-9]+)\.

8.7 DB/2 and Decimal Separators
-------------------------------
Certain versions of the DB/2 client library return decimal
separators specified in the Windows regional settings. If
the decimal separator is set in the Windows regional
settings to other than a period ("."), this can cause
problems when working with NUMERIC and DECIMAL data types
with the BDE configuration setting ENABLE BCD is set to
TRUE. The IBM library should always return a period as the
decimal separator, regardless of the regional settings.


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