*********************************************************** 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) ); 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 =============================