  IB OLE DB Driver

  ibole.dll

  ----------------------------------------------------------------------
  2003 ZStyleGroup Ltd support@zstyle.dp.ua
  Get latest version on: www.zstyle.dp.ua
  
  ************
  PURPOSE:
      OLE DB Provider to provide access to the Interbase database server.

  PLATFORMS:
      MS Windows 95/98/NT/2000/XP.

  History
  -------
  v5.0.11(10,Feb,2003)
      - Database Creation Feature Added
        New parameter added
          Open Model : vt_i4 // Integer value specifying wether database 
                       assigned in "Data Source" should be 
                       created (Value=1) or opened (Value=0 :Default)
 ------------------------------------------------------------------------
       Description          |Value   | 
 ------------------------------------------------------------------------
  Open Database             |1       | default
  Create and Open Database  |2       | 
 ------------------------------------------------------------------------
        See sample in ibsamples.zip\ibsamples\Delphi\CreateDatabase\

  v5.0.10(03,Feb,2003)
      - Interbase/Firebird DSQL Support added. 
        Use Connection.Execute method in ADO
  
  v5.0.8 (22,Nov,2003)
      - Fixed Bug "OLE Error" when Updating fields in Server Cursor mode

  v5.0.7 (18,Nov,2003)
      - Fixed Bug "Specific Cast doesn't exists" when inserting BLOB in VB.NET

  v5.0.6 (17,Nov,2003)
      - When update BLOB fields previous data was not cleared.
      - Fixed Bug "Row cannot be located for updating"  in Client Cursor mode

  v5.0.5 (18,Oct,2003)
      - Fixed bug with DBTimeStamp fields storing to database
      - Free Threading mode enabled
  v5.0.4 (22,Aug,2003)
      - Distributed Query Support in MS SQL Server Using the OLE DB driver 
        for Interbase/Firebird added
        (OLE db driver can be used as linked server in MS SQL SERVER)
        see samples on http://www.zstyle.dp.ua/eng/iboledb_doc5.htm

  v5.0.3 (29,Jul,2003)
      - Fixed Bug with DBTYPE_DATE, date was not correctly retrieved
      - Fixed Bugs with SCHEMAS: PrimaryKeys, ForeignKeys, etc. in Firebird 1.5


  v5.0.2 (24,Jul,2003)
     (Provider with ADO Server mode)
      -  EOF flag was set to true, when RecordSet consist of one record.
      -  GetRowsAt - improperly defined EndOfRowSet
      -   Fixed bugs with IRowsetUpdate in Cache deferred mode: 
         Undo, Update ,DeleteRows, SetData, InsertRow
     IDBAsynchStatus.GetStatus - DBASYNCHPHASE_COMPLETE was never returned

  v5.0.1b(16,Jul,2003)
     MEMO field in clUseClient mode was 
     written in widechar format, fixed to char format

  v5.00b (Apr,14,2003)
     BLOB write support in clUseClient mode
     Refresh,Resync support 
     Speed increased 
     A lot of bugs fixed

  v4.37 (Apr,02,2003) 
     Fixed bug with ROLE, Thanks to Marcos.

  v4.36 (Apr,02,2003) 
     Fixed problems with BLOB field display in TDBMemo components 
       in Delphi(Was cut after 24 char.), Thanks to Gijs Strik.

  v4.35 (Jan,14,2003) 
     Fixed problems when fields occasionally became blank

  v4.33 (Dec,16,2002) 
     Fixed problems with memory leaks

  v4.30 (Dec,3,2002)
     Lock in Delphi Query Builder - fixed
     Return procedure parameters after Unprepared in VB60

  v4.29 (Nov,29,2002)
     PROCEDURE PARAMETERS SCHEMA - fixed
     WORK WITH PROCEDURES - fixed
     BLOB SUB_TYPE text identification (adWarChar) in COLUMNS SCHEMA fixed

  v4.28 (Nov,27,2002)
     BLOB field converting fixed, - added
     BLOB fields Read/Update - fixed
     Form doesn't extract the relative fields list - fixed
     
  v4.27 (Nov,20,2002)
     DBSCHEMA_VIEWS - added
     BLOB SUB_TYPE 1 bugs fixed
     Data Type mapping (DBTimeStamp) - fixed
     Asynchro events added

  v4.26 (Sep,10,2002)
     DBSCHEMA_PROCEDURE_PARAMETERS - added
     Visual Studio .Net support added 
     

  v4.25 (Aug,01,2002)
     ColumnInfo bug fixed 

  v4.24 (May,14,2002)
     Resource pooling
     Multithread model
     New parameter:
        Tread Model : vt_i4   // A bit mask specifying the threading 
                            models supported by the data source object 
 ------------------------------------------------------------------------------------
       OLE DB               |I4      | 
 ------------------------------------------------------------------------------------
  DBPROPVAL_RT_FREETHREAD   |1       | 
  DBPROPVAL_RT_APTMTTHREAD  |2       | default
  DBPROPVAL_RT_SINGLETHREAD |4       | 
 ------------------------------------------------------------------------------------

        
  v4.23 (May,07,2002)
     Idea of command type recognition changed to InterBase native. 
     Working idea with unnamed parameters changed to InterBase native.
     Stored procedures bug fixed.
     Speed of command execution increased.

            
  v4.22.5 (May,04,2002)
     Update of table quoted in sql bug fixed.

  v4.22 (Apr,12,2002)
     Primary Key bug fixed.

  v4.21.1 (Apr,02,2002)
     Schema rowset info fixed:
       dbstIndexes, dbstPrimaryKeys, dbstForeignKeys, dbstTableConstraints,
       dbstConstraintColumnUsage, dbstKeyColumnUsage, dbstCheckConstraints
       

  v4.21 (Mar,05,2002)

 - Default Property list for DatasourceInfo extended

 - New parameters added into the connection string

 Mode : vt_i4 // Access mode describes the actions that can be performed by the functions                 associated with the transaction.
       ---------------------------------------------------------------------
       OLE DB                   |I4  |Interbase/Firebird
       ---------------------------------------------------------------------
       DB_MODE_READ             | 01 | isc_tpb_read 
       DB_MODE_WRITE            | 02 | isc_tpb_write
       DB_MODE_READWRITE        | 03 | isc_tpb_read & isc_tpb_write
       DB_MODE_SHARE_DENY_READ  | 04 | isc_tpb_shared & isc_tpb_lock_read
       DB_MODE_SHARE_DENY_WRITE | 08 | isc_tpb_shared & isc_tpb_lock_write
       DB_MODE_SHARE_EXCLUSIVE  | 12 | isc_tpb_lock_write & isc_tpb_lock_read
       DB_MODE_SHARE_DENY_NONE  | 16 | default
       ----------------------------------------------------------------------
       e.g.  Mode=2

     Role : OleStr // User role name
       e.g. Role=Administrator
  
 Isolation level : vt_i4 // Isolation level describes the view of the database given a                            transaction as it relates to actions performed by other 
                           simultaneously occurring transactions. 
 ------------------------------------------------------------------------------------
       OLE DB                   |I4 |Interbase/Firebird
 ------------------------------------------------------------------------------------
  ISOLATIONLEVEL_READUNCOMMITTED|256     | isc_tpb_concurrency 
  ISOLATIONLEVEL_READCOMMITTED  |4096    | isc_tpb_read_committed & isc_tpb_rec_version 
  ISOLATIONLEVEL_REPEATABLEREAD |65536   | isc_tpb_read_committed & isc_tpb_no_rec_version 
  ISOLATIONLEVEL_ISOLATED       |1048576 | isc_tpb_consistency 
 ------------------------------------------------------------------------------------
       e.g.  Isolation level=16 


 Lock resolution : vt_i4 // Lock resolution describes how a transaction should react
                            if a lock conflict occurs.
 ------------------------------------------------------------------------------------
   OLE DB  |I4 |Interbase/Firebird
 ------------------------------------------------------------------------------------
      -    |00 | isc_tpb_wait
      -    |01 | isc_tpb_nowait
 ------------------------------------------------------------------------------------
     e.g. Lock resolution=1
       

  v4.19 (Dec,19,2001)
 - New parameters added: 
     Character Set : OleStr // Client character set,
      e.g.  Character Set=Win1251  
 - ADO table syntax support added: Now in the Command text you can use table name only , it will be automatically translated to "select * from tablename" by the provider.
 - Provider registration with the key file added. Now it is very easy to distribute provider with own software projects.
 - Demo for Crystal Report added, see "ibprov\Samples\Vb-CrystalReport\"
   

  v4.18 (Nov,28,2001)

 - New parameters added: 
     Silent Mode : Boolean //if true then unregistered warning will not 
                         be shown, required for correct work in ASP(IIS). 
     SQL Dialect : integer // Client SQL dialect 1-3

 - Bugs fixed : 
     Access violation bug for Unregistered version in IIS. (Thanks to Larry) 
     Numeric fields bug, field type not supported (Thanks to Alex Gossen)

 - Demo sample for ASP added.
			

  v4.17 (Nov,19,2001)  Schema Rowset info fixed. Log level parameter added. 

  v4.16 (Oct,06,2001)  Update Key auto generation for tables w/o primary key added.
                       BLOB fields bug corrected. - Data will not disappear after next update.

  v4.07 (Aug,27,2001)  Logging level parameter added,
                       SchemaRowset Info now will be showed correctly.

  v4.01 (Aug,01,2001)  Null values now supported, transaction model changed.

  v3.05 (Jul,10,2001)  Support of MEMO field added.  


  v2.03 (Jan,28,2001). Support of BLOB objects added.


  v1.00 (Dec,28,2000). Initial release.


  INSTALLATION:


  1. Unpack "ibprov.zip" to any folder. Run "ibolereg.bat" to register
     IB OLE DB Provider (It will be registered and added to the list of
     available OLE DB Providers as "ZStyle IBOLE Provider")
   
     Now you can run and explore ibdemo - "ibdemo.exe", and use provider
     in your own applications.
  2. Connection String for IB OLE DB driver should looks like this:

sConnStr = "Provider=ZStyle IBOLE Provider;Password=masterkey;User ID=SYSDBA;SQL Dialect=3; Logging Level=0;Silent mode=True;Character Set=WIN1251;Data Source=:c:\ibprov\Samples\Data\IBDEMO.GDB;Open Mode=0"

Where:

Provider      - Your OLE DB driver name

Password      - Database password

User ID       - Database user

SQL Dialect   - Client dialect to connect to database (1-3)

Open Mode     - Define wether database assigned in "Data Source" should be 
                created (Value=1) or simply opened (Value=0 :Default)
   
Logging Level - Log detail level for the file OLEDbInt.log 
   0  - silent
   1  - Base operation (Insert/Select/Delete)
   2  - Exceptions (1 st level)
   3  - Show commands text
   4  - Exceptions Second level
   5  - Base operation in Rowset Data
   6  - Start, End , Moving Operations
   7  - Show Buffers(Print List, etc)
   8  - BLOBs
   9  - Internal Operations (OLEDBProv)
   12 - Redundant loggings
   20 - Redundant loggings level 2
   22 - Crazy loggings

Silent mode - when true then unregistered warning will not be shown, required for correct work in ASP(IIS).

Character Set  - Client character set, list of the allowed character sets can be taken from "Interbase Language Reference" - langref.pdf

Data Source - Path to the database
  For the  Local database:
     Data Source= c:\ibprov\Samples\Data\IBDEMO.GDB
  For the  remote database:
     Data Source= Server:c:\ibprov\Samples\Data\IBDEMO.GDB

Note: In same cases if you do not use network path for your database, the path line should begin with ":". e.g. Data Source= :c:\ibprov\Samples\Data\IBDEMO.GDB
(required for ASP)

  
------------------------------------------------------------------------------------
