- BORLAND/: Borland C++ 4.52 (chosen over 4.5 by byte-match: CODE/RP/CW32.LIB
is identical to 4.52's install lib). BCC32/TLINK32/TLIB/MAKE run natively on
Win11; CODE/BT/OPT.MAK is the shipped BTL4OPT.EXE's exact flag recipe
(extender = Borland PowerPack DPMI32, not Phar Lap TNT).
- restoration/source410/: the literal 1995-form reconstruction of the missing
BT game source (never mixed into CODE/). Round 1-3 state:
* 6 of 10 surviving original TUs COMPILE CLEAN under the period toolchain
(BTMSSN, BTCNSL, BTSCNRL, BTTEAM, BTL4MODE, BTL4ARND) - first builds
since 1996.
* BT_L4/BTL4APP.CPP pilot reconstruction: 12/12 functions, Fail() lands on
its binary-recorded line 400 exactly.
* BT/BTCNSL.HPP: console wire IDs recovered from the binary's ctors
(Killed=9, Damaged=10, ScoreUpdate=13, DeathWithoutHonor=15 [T1];
TeamScore=12 flagged [T4]).
* MUNGA/: 8 engine-header backfills back-dated from the BT412 WinTesla tree
(VDATA numbering decomp-verified; AUDREND's OpenAL-era virtual removed -
the period compiler is the drift detector).
* Tooling: backdate.py (WinTesla->1995 header transform), compile410.sh
(per-TU verification sweep under authentic OPT.MAK flags).
* README: corrected roadmap - MECH.HPP is the capstone grown with the mech
TU reconstructions; BTREG.CPP green = the header-family milestone.
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
425 lines
16 KiB
Plaintext
425 lines
16 KiB
Plaintext
Welcome to the Borland Database Engine
|
|
--------------------------------------
|
|
|
|
This README file contains installation instructions, information about
|
|
how to contact Borland, and important last-minute information about the
|
|
Borland Database Engine (BDE).
|
|
|
|
The Borland Database Engine gives developers the opportunity to develop
|
|
applications with the same database engine that is used in Paradox for
|
|
Windows, dBASE for Windows, Delphi and ReportSmith.
|
|
|
|
|
|
Contents
|
|
--------
|
|
I. Installation and Configuration
|
|
II. Borland Database Engine Directories
|
|
III. Overview of Components
|
|
IV. Programming with the BDE
|
|
V. Programming with the ODBC Socket
|
|
VI. Using DLL Swap
|
|
VII. Using the Database Desktop
|
|
VIII. Accessing SQL Servers using Native Drivers
|
|
IX. What's New for this Release
|
|
X. Getting Help & Reporting Bugs
|
|
XI. Product Information
|
|
|
|
|
|
I. Installation and Configuration
|
|
-----------------------------------
|
|
System requirements:
|
|
|
|
- DOS 3.1 or higher
|
|
- Windows version 3.1
|
|
- 6 MB RAM required, 8 MB recommended
|
|
- 25 MB free disk space
|
|
|
|
- Follow these steps to install the Borland Database Engine from
|
|
CD-ROM:
|
|
1. Insert the CD-ROM in your CD-ROM drive. (The following
|
|
instructions assume you are using drive E. Substitute your
|
|
drive letter if necessary.)
|
|
2. Choose File|Run from the Program Manager. The Run dialog box appears.
|
|
3. Enter E:SETUP in the Command Line text box.
|
|
4. Follow the instructions on the screen.
|
|
|
|
- Follow these steps to install the Borland Database Engine from
|
|
diskettes:
|
|
1. Insert Diskette 1 in a floppy drive. (The following instructions
|
|
assume you are using drive A. Substitute your drive letter
|
|
if necessary.)
|
|
2. Choose File|Run from the Program Manager. The Run dialog box appears.
|
|
3. Enter A:SETUP in the Command Line text box.
|
|
4. Follow the instructions on the screen.
|
|
|
|
|
|
II. Borland Database Engine Directories
|
|
-----------------------------------------
|
|
If you accepted BDE and IDAPI as the installation directories, the
|
|
directory structure for the Borland Database Engine is as follows:
|
|
|
|
IDAPI (IDAPI .DLLs and the configuration file IDAPI.CFG)
|
|
|
|
|
+--- LANGDRV
|
|
|
|
BDE
|
|
|
|
|
+--- BIN
|
|
|
|
|
+--- DOC
|
|
|
|
|
+--- EXAMPLES
|
|
| |
|
|
| +--- C
|
|
| | |
|
|
| | +--- ADDRESS
|
|
| | |
|
|
| | +--- DBPING
|
|
| | |
|
|
| | +--- INVENTRY
|
|
| |
|
|
| +--- DELPHI
|
|
| | |
|
|
| | +--- FILTER
|
|
| | |
|
|
| | +--- TABLEENH
|
|
| | |
|
|
| | +--- VCL
|
|
| |
|
|
| +--- PASCAL
|
|
| | |
|
|
| | +--- EMPLOYEE
|
|
| |
|
|
| +--- PDOXWIN
|
|
| | |
|
|
| | +--- RESTRUCT
|
|
| | |
|
|
| | +--- SEEK
|
|
| |
|
|
| +--- QUERY
|
|
| |
|
|
| +--- SNIPIT
|
|
| |
|
|
| +--- TABLES
|
|
|
|
|
+--- INCLUDE
|
|
|
|
|
+--- LIB
|
|
|
|
|
+--- REDIST
|
|
|
|
|
+--- UNITS
|
|
|
|
DBD
|
|
|
|
|
+---DBDPRIV
|
|
|
|
|
|
III. Overview of Components
|
|
-----------------------------
|
|
Software components
|
|
|
|
The BDE consists of the BDE API and drivers for Paradox, dBASE, ODBC
|
|
Socket, and Text files. FILELIST.TXT lists the files that make up
|
|
this release of the Borland Database Engine. After the BDE is
|
|
installed, you should see icons for SnipIt Code Viewer, Query Manager,
|
|
DBPing, the BDE on-line help system, various sample applications,
|
|
the READSDK, the BDE Configuration Utility, the Database Desktop, and
|
|
the DLL Swapper.
|
|
|
|
Documentation Components
|
|
|
|
Documentation for the Borland Database Engine consists of the Borland
|
|
Database Engine on-line help, and various text files. The on-line
|
|
help and the supporting text files can be found in the DOC directory.
|
|
|
|
|
|
|
|
IV. Programming with the BDE
|
|
-----------------------------
|
|
|
|
- All developers using C, or C++, should use the provided IDAPI.LIB
|
|
library when you link your application. IDAPI.LIB is more than just
|
|
an import library. It has hooks to locate and load various DLLs.
|
|
|
|
|
|
- We recommend that you use DbiQInstantiateAnswer() to save answer
|
|
tables produced by query functions. This is more efficient than
|
|
reading and writing one record at a time.
|
|
|
|
- BDE searches for the configuration file in this order:
|
|
1. Uses the CFG specified in the DBIEnv structure
|
|
2. Checks for a defined CFG file in the WIN.INI file located in
|
|
your Windows directory. The entry checked for is "[IDAPI]"
|
|
with an sub-entry of "CONFIGFILE01."
|
|
3. Checks for the CFG file in the startup directory.
|
|
4. If the CFG file cannot be found, BDE initializes with a
|
|
predefined set of configuration settings. The default
|
|
settings include no locking of STANDARD database tables.
|
|
|
|
- BDE\INCLUDE directory needs to be specified before the
|
|
BORLANDC\INCLUDE directory when using BC 3.1.
|
|
|
|
- If you are using Microsoft C and NMAKE.EXE, make sure that you have
|
|
the INCLUDE and LIB environment variables set.
|
|
|
|
- For ANSI drivers do not specify "iLen" when calling DbiNativeToAnsi().
|
|
Simply translate the entire string.
|
|
|
|
- You must set the "iLen" part of your field descriptors when calling
|
|
DbiCreateInMemTable().
|
|
|
|
- The Pascal unit files distributed with the BDE SDK (DBIPROCS.PAS,
|
|
DBITYPES.PAS, and DBIERRORS.PAS) are NOT intended to be replacements
|
|
for similarly named Delphi units. They are to be used with BDE-based
|
|
Borland Pascal programs. The SDK units will have a slightly different
|
|
interface section than those compiled and provided with Delphi. If
|
|
you replace the Delphi units, you will not be able to link with other
|
|
units that are dependent on the Delphi supplied ones.
|
|
|
|
- If there is a new prototype that you wish to access from Delphi you
|
|
need to either create a DBINEW unit or simply declare the prototypes
|
|
in the .PAS file of your choice.
|
|
|
|
- We strongly recommend that you use the debug layer during application
|
|
development and testing. This is done by swapping the IDAPI01.DLL with
|
|
the DBG.DLL and activating the debug layer with a call to
|
|
DbiDebugLayerOptions(). Here are some other debug layer details.
|
|
1. The debug layer is "shared" among all BDE clients.
|
|
2. We strongly recommended that one BDE application be designated
|
|
to activate and deactivate the debug layer.
|
|
3. All applications that use BDE will output trace information
|
|
after the debug layer has been enabled.
|
|
4. See the reference material for DbiDebugLayerOptions() for more
|
|
details.
|
|
|
|
- Within the BDE Reference Help under "Data Structures"|"CANHdr" there is
|
|
a "Operator identifying leaf operands" called canTUPLE. This is not a
|
|
supported operator. In addition the "Arithmetic" and "Aggregate Type"
|
|
operators listed are not supported.
|
|
|
|
- Within the BDE Reference Help under "Data Structures"|"Data Type
|
|
Translations" the data type "Money" is converted to Number (20, 4) for
|
|
dBASE tables not Float (20, 4).
|
|
|
|
- Older versions of the BDECFG.EXE (then called IDAPICFG.EXE) will
|
|
cause a General Protection Fault if the LDPATH statement in the
|
|
WIN.INI file points to a directory that contains new or current
|
|
versions of the BDE files. Use the BDECFG.EXE to avoid this problem.
|
|
|
|
- When using ODBC data sources with the auto odbc option set to true and
|
|
a driver name greater than 32 characters, IDAPI truncates the name to
|
|
32 characters. These truncated drivers do not appear in the driver list
|
|
within BDECFG.EXE. Therefore they cannot be deleted from the
|
|
configuration file. Every time that the auto odbc option is set to
|
|
true these drivers are added repeatedly to the configuration file after
|
|
every save - thus the configuration file keeps growing and there is no
|
|
way to remove the excess drivers. To avoid this problem do not use
|
|
driver names greater than 32 characters in length.
|
|
|
|
|
|
V. Programming with the ODBC Socket
|
|
-------------------------------------
|
|
|
|
- This release of the Borland Database Engine comes with an ODBC Socket.
|
|
It has been certified with Microsoft's 2.0 ODBC Driver Manager.
|
|
The files ODBC.DLL, ODBCINST.DLL and ODBCINST.HLP have been installed
|
|
into your WINDOWS SYSTEM directory. Proper versioning procedures
|
|
occur during the install, therefore if you had newer ODBC Driver
|
|
Manager files already on your system, then they have not been
|
|
replaced.
|
|
|
|
NOTE: The ODBC 2.0 driver manager does work with ODBC 1.x ODBC drivers.
|
|
|
|
- The driver description in the ODBC.INI must match the driver name
|
|
exactly as found in ODBCINST.INI in order for the BDE Configuration
|
|
Utility to add drivers to the BDE configuration file.
|
|
|
|
- For information on how to create an ODBC driver connection and alias,
|
|
search for "ODBC Driver Connection" in the BDE Configuration Utility
|
|
on-line help.
|
|
|
|
- When using passthrough SQL functions (DbiQExecDirect), case-sensitive
|
|
object names should be enclosed by the DBMS-identifier quote
|
|
character.
|
|
|
|
- ODBC does not support owner-qualified indexes. When using
|
|
DbiOpenTable, do not specify an owner name with the index parameter.
|
|
|
|
- Physical data type identifiers are composed of a 16-bit number. The
|
|
high-byte is the driver ID and the low-byte is the ODBC SQL type
|
|
identifier. To determine the SQL type of a field, use the following
|
|
algorithm:
|
|
|
|
SWORD iSqlType;
|
|
|
|
iSqlType = (SWORD)(signed char)(0x00FF & pFldDesc->iFldType)
|
|
|
|
The cast to signed char is necessary to preserve the sign information.
|
|
|
|
- Physical types are stored in the SQL_C_ types documented in
|
|
Microsoft's Open Database Connectivity Software Development Kit,
|
|
Version 2.0 Appendix D. The only exception is for SQL_VARBINARY
|
|
types. The first byte specifies the number of bytes of information.
|
|
|
|
- Updateable ODBC queries are not supported with aliases that have the
|
|
SQLPASSTHRU MODE parameter set to NOT SHARED. The SQLPASSTHRU MODE is
|
|
a parameter that can be set by the BDE Configuration Utility for each
|
|
ODBC alias.
|
|
|
|
|
|
Database-specific information
|
|
-----------------------------
|
|
- You may encounter problems when copying Oracle tables containing
|
|
NUMERIC type columns to other Oracle tables. This is a known problem
|
|
and is fixed in Intersolv ODBC 2.0 Oracle driver.
|
|
|
|
- When specifying NetWare SQL BLOB\MEMO fields, it is necessary to
|
|
specify an iUnits setting less than or equal to 32765. The default of
|
|
32767 that is assumed by the driver is incorrect due to field header
|
|
information.
|
|
|
|
- When using DbiBatchMove with ebatMode set to batCOPY, BLOB fields that
|
|
require an iUnits specification default to the maximum allowable size
|
|
supported. This can cause problems for NetWare SQL users because the
|
|
BLOB on the target table is set to 32K, exceeding the record buffer
|
|
limit.
|
|
|
|
- DB2/2 (Database Manager) does not support concatenation operators in
|
|
queries.
|
|
|
|
- Depending on the SQL server being used, scrolling through a set of
|
|
records based on a non-unique index does not always show a consistent
|
|
ordering of NULL index values (i.e. sometimes they will be at BOF and
|
|
sometimes at EOF). This is the behavior of the server and not IDAPI.
|
|
|
|
- When using the Microsoft 1.0 ODBC Text driver within a BDE program
|
|
opening a database results in the program's working directory being
|
|
set to the directory where the Text file is located. This means that
|
|
runtime functions (i.e. findfirst) are not using the Windows defined
|
|
working directory but the directory containing the Text database.
|
|
|
|
|
|
VI. Using DLL Swap
|
|
--------------------
|
|
It is possible for your DLLs to reach a state that the DLL Swapper will
|
|
not be able to resolve. If you have IDAPI01.DLL, DBG.DLL, and NODBG.DLL
|
|
on your disk at the same time, an error message will be displayed.
|
|
|
|
To resolve the conflict, delete either DBG.DLL or NODBG.DLL. You should
|
|
delete the .DLL that is the same size as the IDAPI01.DLL file.
|
|
|
|
|
|
VII. Using the Database Desktop
|
|
---------------------------------
|
|
The Database Desktop is a utility that allows you to create, modify,
|
|
and restructure Paradox and dBASE tables. It uses BDE for all of
|
|
its database I/O and requires the BDE configuration file for access
|
|
to SQL databases. Refer to your Database Desktop on-line help for
|
|
detailed product information.
|
|
|
|
|
|
VIII. Accessing SQL Servers using Native Drivers
|
|
------------------------------------------------
|
|
This release of the Borland Database Engine has been certified with
|
|
the Borland SQL Links 2.5 product. Borland SQL Links 2.5 product
|
|
offers high performance native drivers for InterBase, Oracle,
|
|
Informix, and MS/SYBASE SQL Server.
|
|
|
|
With Borland SQL Links 2.5 you can build applications and scale them
|
|
between local and remote data. No other database engine provides this
|
|
level of scalability! Developers use one API to access all drivers
|
|
supported by BDE.
|
|
|
|
|
|
IX. What's New for this Release
|
|
-----------------------------------
|
|
|
|
Local Features
|
|
|
|
- You can now find the BDE documentation on-line (BDE.HLP & LOCALSQL.HLP)
|
|
|
|
- Local SQL has been enhanced. For more information see the Local SQL
|
|
on-line help file.
|
|
|
|
- Local SQL now supports parameterized queries. See Local SQL on-line
|
|
help under "Parameter Substitutions in DML Statements".
|
|
|
|
- There are two new functions (DbiAddAlias and DbiDeleteAlias) that
|
|
allow aliases to be added and deleted from the configuration file.
|
|
For more information see the BDE on-line help file.
|
|
|
|
- There is now schema support for ASCII tables. See the SNIPIT example
|
|
(CR8TXTBL.C) for more details.
|
|
|
|
- Support for accessing encrypted dBASE tables is now included. See the
|
|
SNIPIT example (DBLOGIN.C) for more details.
|
|
|
|
- When trying to open a dBASE table with an invalid index there is now
|
|
the capability to recieve a callback and determine whether or not to
|
|
continue opening the table. See the SNIPIT example (INPUTREQ.C) for
|
|
more details.
|
|
|
|
|
|
New Applications
|
|
|
|
- The Database Desktop has been upgraded (version 5.1) to allow
|
|
access to remote tables as well as local tables. For more information
|
|
use the Database Desktop on-line help file (DBD.HLP).
|
|
|
|
Changes to Provided Examples
|
|
|
|
The following SNIPIT examples have been added or changed:
|
|
|
|
- FILTCOMP.C: Comparison filter (New)
|
|
|
|
- FILTCONT.C: Continue filter (New)
|
|
|
|
- ADDALIAS.C: Adding and deleting aliases (New)
|
|
|
|
- KEYUPDT.C: Keyed updates (New)
|
|
|
|
- LSQLLIVE.C: Local and remote dynasets (Modified)
|
|
|
|
- SQLBIND.C: Local and remote parameter binding (Modified)
|
|
|
|
- UPDTCRNT.C: Cursor symantics (New)
|
|
|
|
- STORPROC.C: Using stored procedures (New)
|
|
|
|
- CR8TXTBL.C: Text table using a schema file (Modified)
|
|
|
|
- DBLOGIN.C: Accessing encrypted dBASE tables (New)
|
|
|
|
- TEXTEXP.C: Exporting test file using a schema file (Modified)
|
|
|
|
- INPUTREQ.C: Accessing tables with a missing or invalid index (New)
|
|
|
|
The following are examples of using the BDE in a DLL for use with
|
|
PDOXWIN in OPAL:
|
|
|
|
- SEEK: Search dBASE expression indexes.
|
|
|
|
- RESTRUCT: Restructure a table.
|
|
|
|
The following are examples of using the BDE with Delphi:
|
|
|
|
- FILTER: Using a filter with a TTable
|
|
|
|
- TABLEENH: Creating a new Table derived control with Block functionality.
|
|
|
|
|
|
X. Getting Help & Reporting Bugs
|
|
-------------------------------------
|
|
To get technical support from Borland and to report bugs, use CompuServe.
|
|
Type GO BDEVTOOL from any '!' prompt and leave your message in section 4.
|
|
|
|
For information on phone support contact Borland at (800) 839-9777.
|
|
|
|
|
|
XI. Product Information
|
|
------------------------
|
|
For information about any Borland products, contact Borland in the
|
|
U.S. at (408) 431-1000. International customers should contact the
|
|
nearest Borland International office.
|