Upgrading the Visigenic ODBC driver

By: Borland Staff

Abstract: The following is from the install.txt file included with the update:

How to upgrade the Visigenic ODBC driver.

IB 4.x
Visigenci InterBase ODBC driver 2.0.0903

The following is from the install.txt file included with the update:

IMPORTANT Installation Notes for upgrading to InterBase ODBC driver 
version 2.00.0903 on Windows NT or Windows 95.

The upgrade package consists of two files:  
1) install.txt,   
2) iscdrv32.dll
The file size of iscdrv32.dll is  116,224 kbytes dated 9/2/1997.

Replacing the existing iscdrv32.dll with the new iscdrv32.dll file will
upgrade the InterBase ODBC driver to version 2.00.0903.

iscdrv32.dll is located in the following directory tree:

Windows NT

Windows 95


The bugs fixed between version 1.00.0809 and 2.00.0903 are:

Version -

Version 2.00.0900 & Large Char / BLOB over 7K, no data is returned.
Fixed in 0902 driver.
This was fixed in the 0902 driver but was not listed in the 0902 driver report.

Unable to change a BLOB with data to 'null'
Addressed in 0903 driver.
BLObs can be set to NULL via SQLExecDirect() using the following syntax;
update tablename set blobcol = NULL where OtherCol = 1

Another Problem with BLOBs
Addressed in 0903 driver.
BLObs can be updated, deleted and inserted via SQLExecute(), not via SQLExecDirect. (See also 
Failure 7429.)

Possible bug in SQLForiegnKeys
Fixed in 0903 driver.
SQLForiegnKeys function now returns the expected number of rows.

SQL_MAX_ROW_SIZE does not return the correct value.
Fixed in 0903 driver.
The driver now returns the correct value. 

Driver Manager fails to load Cursor Library when requested to do so by the InterBase driver.
Fixed in 0903 driver.
The Driver Manager now loads the Cursor Library sucessfully when requested to do so by the 
InterBase driver. 

Version -	

Fixed a problem with varchar columns sometimes being truncated.

Version -	

Fixed a problem with hang on second SQLFetch of a BLOB.

Fixed a problem with SQLPrimaryKeys sometimes showing duplicate entries.

Fixed a problem with numeric data type after table definition is altered.

Version - 2.00.0900

Increased version to match other Visigenic drivers.

Blob Data Type access - fixed problem with Blobs related to multifetch on
Blobs. Problem occurred when a blob was retrieved in a series of SQLGetData
calls instead of one single call. The fix allows Blobs to be retreived in a
series of SQLGetData function calls instead of only allowing one call.
Note: InterBase bug referencing this problem is 8425. 

Version - 1.00.0813

Intergrated unix patches into windows code and tested for release.

Multiple DriverConnect calls - A problem relating the the ctl3d library would
cause the driver to crash when multiple calls were made to DriverConnect. The
problem has been fixed in this release.
Note:  InterBase bug referencing this ODBC problem is 8423.

Transaction model for driver - The old model for the transaction dictated
that the driver would be in a transaction when the cursor was used in a fetch,
or on non-cursor calls when the execute was called. This has moved to when the
prepare is successful. If a prepare is issued and the syntax passes the driver
parser and the DBMS parser, then the driver is moved to the state of in a transaction.

Procedure calls - the ODBC driver would not accept calls to procedures without
arguments as {call proc_name}, the syntax had to be {call proc_name()}. The
parser has been modified to allow both syntaxes to call a procedure.
Note:  InterBase bug referencing this ODBC problem is 8424.

Version    1.00.0812

SQLStatistics - Now reports Index sort order (ascending or descending).

Procedure calls - the ODBC escape call {call procedure_name()} failed on
procedures without parameters. The failing SQL generated by the driver was
'EXECUTE PROCEDURE procedure_name ( )' This now generates 'EXECUTE PROCEDURE
procedure_name ' without parenthesis. This fixes the problem.
Note:  InterBase bug referencing this ODBC problem is 8424.

Foreign Keys - The SQLForeignKeys functions call did not return the name of the
Primary Key constraint. This function has been modified to return the correct.

Version    1.00.0811

Delete Cursors Mode - In delete cursors mode if the transaction handle was
closed and following this an ODBC application tried to insert a value into
a blob the blob creation would fail due to an invalid transaction handle.
This problem has been fixed.

ODBC Driver name - The ODBC Driver on unix would report iscdrv32.dll as the
driver name. This has been changed to iscdrv4.so.1 (for solaris and aix) and
iscdrv4.sl (for HPUX). 

SQLStatistics - The sort order of indexes is now available as result-set 
information from the SQLStatistics function.

Version    1.00.0810

Stored procedures - a problem was found whe  running stored procedures
using the 'EXECUTE PROCEDURE' command. The issue is related to function
calls on the InterBase API level. This problem has be fixed by creating
a in driver transparent work around. 'EXECUTE PROCEDURE' will now work
through the driver.

Numeric Binding - a problem in the driver was found related to using
a bound parameter more than one time that was bound to a numeric data
type. This problem has been resolved.

Cursor model - a problem was found in the cursor model when the
commit behavior was commit retaining. At disconnect time the 
driver would fail to disconnect because there were still outstanding
cursors in the driver. The logic has been modified to allow disconnect
if the cursor have been commited and are retained, but to not allow 
disconnect if the cursors have not been commited or rolled back.

Version - 1.00.0809

Registry fix
System DSN - Driver now uses system DSNs

Note:  Current shipping InterBase kit (version 4.2.1) ships with 
       Visigenic ODBC version 1.00.0809.

Server Response from: ETNASC04