Easysoft dbExpress-ODBC Gateway - beta 0.0.11
=============================================

This is a beta of Easysofts dbExpress-ODBC gateway, full and detailed
instruction for use will be prepared when the beta test period is ended,
but these few instructions should be sufficient to enable the kylix
user to make use of the driver.

Full details of the current state of the product can be found at the
Easysoft dbExpress-ODBC Gateway website http://www.easysoft.com/products/kylix.

The driver consists of a dynamic shared library libsqlodbc.so, this
is loaded by the dbExpress part of the application. This then links to
either the target ODBC 3 driver, or preferably a ODBC 3 driver manager
which in turn links to a ODBC 2 or 3 driver.

All development has been done using the driver manager supplied as part
of unixODBC (http://www.unixodbc.org), the source should be downloaded and
built before using the dbExpress driver. It is recomended that the 
connection between the driver manager, the ODBC driver, and the target
RDBMS be proven before trying the dbExpress driver, to reduce the number
of possible points of failure. Details of this can be found on the unixODBC
web site. Once the unixODBC utilities isql or DataManager verify the DSN
setup the configuration of the dbExpress components can be done.

First copy all the libsqlodbc.so.* files to a location that the dynamic linker 
on the system can find, /usr/lib, or /lib, or if its included in 
/etc/ld.so.conf, /usr/local/lib.

Then edit the Borland setup files drivers and connections, these can be found
in $HOME/.borland/dbxdrivers and $HOME/.borland/dbxconnection.

In the dbxdrivers file, add ODBC to the list of installed drivers, for example

[Installed Drivers]
Interbase=1
MYSQL=1
ODBC=1

Then add a ODBC section to describe the connection

[ODBC]
GetDriverFunc=getSQLDriverODBC
LibraryName=libsqlodbc.so
VendorLib=libodbc.so
BlobSize=-1
Database=DBNAME
HostName=ServerName
Password=password
User_Name=user

Note that the LibraryName value points to the Easysoft dbExpress driver, and
the VendorLib value, indicates the unixODBC driver manager.

Next add your individual data sources to the connections file. In this case 
we will add a DSN called ib6 (in this case to interbase, and PostgreSQL, 
but this is not important to the dbExpress driver, the driver manager 
takes care of loading the actual ODBC driver (which we have already tested, 
havn't we ?).

So add the following to dbxconnections

[ib6]
BlobSize=-1
Database=ib6
DriverName=ODBC
HostName=ServerName
Password=masterkey
User_Name=sysdba

[Postgres]
BlobSize=-1
Database=Postgres
DriverName=ODBC
HostName=ServerName
Password=
User_Name=

The Database value indicates the DSN to connect via ODBC to, the HostName is unused, and Password and User_Name are passed to SQLConnect to make the connection.

And that should be all that is needed to make the connection.

Any problems, or suggestions should be sent to myself (nick@easysoft.com)
during the initial trial period.

If it is wanted to connect directly to a driver, or another driver manager,
this is the list of ODBC functions that the dbExpress driver expects to find
in the shared lib referenced by the VendorLib line in the drivers file

	SQLAllocHandle
	SQLFreeHandle
	SQLSetEnvAttr
    SQLConnect
    SQLDisconnect
    SQLGetDiagRec
    SQLGetInfo
    SQLTables
    SQLFreeStmt
    SQLFetch
    SQLNumResultCols
    SQLColAttribute
    SQLGetData
    SQLColumns
    SQLPrepare
    SQLExecute
    SQLExecDirect
	SQLRowCount
	SQLStatistics
	SQLCloseCursor
	SQLPrimaryKeys
    SQLNumParams
    SQLBindParameter
    SQLDescribeParam
    SQLEndTran
	SQLSetConnectAttr
	SQLProcedures
	SQLMoreResults
	SQLProcedureColumns
	SQLGetConnectAttr
	SQLGetCursorName
	SQLSetStmtAttr
	SQLGetStmtAttr

Note that many Linux ODBC drivers are still only ODBC 2 and so will not work
directly without a driver manager (for example PostgreSQL), but the use of 
a ODBC 3 driver manager wll solve this problem.

This driver has been used succesfully with the following drivers,

	PostgreSQL (part of unixODBC distribution)
        (http://www.unixodbc.org)
	Easysoft Interbase 6 driver 
        (http://www.easysoft.com/products/interbase)
	Easysoft ODBC-ODBC bridge to MS SQL Server, and MS Access
        (http://www.easysoft.com/products/oob)

if you have tried others, please let us know and I will add them on.

List of changes
===============

0.0.11 12-Mar-2001

	Added support for tracing callback

0.0.10 08-Mar-2001

	Add support for MS Windows and Iliad

0.0.9 23-Feb-2001

	Add support for fldDATETIME parameters types
	BCD parameters could get truncated
	Map SQL_REAL to fldFLOAT not fldBCD

0.0.8 21-Feb-2001

	Report TIMESTAMP's as fldDATETIME, not fldTIMESTAMP

0.0.7 16-Feb-2001

	Add a change for NULL's

0.0.6 14-Feb-2001

	Convert empty strings in metadata calls into SQL_NULL's in ODBC call
	Add extra column on output of ProcedureParams

0.0.5 12-Feb-2001

	Add case for "as of now unknown" option value 3 in ODBCDriver::setOption
	Add extra checks for ODBC 2 metadata

0.0.4 15-Jan-2001

	Add changes for new args to getSQLDriverODBC, still don't
	know what the second arg is yet.
	Fixes to make parameterised queries work properly
	Fixes to make blobs behave
	Fix error reporting

0.0.3 04-Jan-2001

	Add support for drivers that only support one active
	statement per connection (SQLServer for example)

0.0.2 08-Dec-2000

	Alter order of handle allocation to fix strange problem
	when running under Kylix IDE

0.0.1 14-Nov-2000

	First release

Nick Gorham - nick@easysoft.com
Easysoft Ltd


