Oracle8 ODBC Driver Version 8.0.4.0.0
Release Notes
Copyright 1996,1997 Oracle Corporation. All Rights Reserved.
This file contains the following sections:
1. Post-Installation
2. Hardware Required
3. Software Required
4. Functionality
5. New Features
6. Data Conversions
7. Oracle8 Lob Datatypes
8. Known Software Problems
9. Software Problems Fixed
1. Post-Installation
1. Use the Microsoft(R) ODBC Administrator to configure your
Oracle8 ODBC Driver data sources. Refer to the Oracle8 ODBC driver help
file section entitled Configuring the Data
Source.
2. Hardware Required
Refer to PRODDESC.TXT enclosed in your software
distribution kit.
3. Software Required
Refer to PRODDESC.TXT enclosed in your software
distribution kit.
4. Functionality
Refer to PRODDESC.TXT enclosed in your software
distribution kit.
5. New Features
Refer to the Oracle8 ODBC Driver help file section
entitled New Features.
6. Data Conversions
The Oracle8 ODBC Driver follows the Microsoft(R) ODBC 3.00 Software
Development Kit (SDK) guidelines for manipulating and displaying
real and double data types. Precision (the maximum number of digits used)
of SQL_DOUBLE and SQL_FLOAT is 15.
If double values are stored in a Oracle database precision for these data
types can be much greater than what ODBC currently supports. The end
result will be the loss of precision. For Example:
A float data type defined in Oracle with the
default precision contains a number such as:
123.9991029382123
When converted on the Windows Platform the number
will drop precision to
123.999102938212
This loss of precision may have different behavior for different
applications. For Microsoft Access(R), the user is not allowed to update
the data. Microsoft Access(R) thinks the data has changed, because Oracle
has the value 123.9991029382123 and Microsoft Access(R) now has the
original but truncated number 123.99910293821. Microsoft Access(R) cannot
update the row using the 123.99910293821 truncated number as a selection
criteria since that row does not exist in the Oracle Oracle8 database.
Only the original row with 123.9991029382123 exists in the Oracle Oracle8
database.
In Microsoft Query(R) the display will be incorrect. Lets take for
example the following double precision number
to display:
-1.123400000000000E-001
with Microsoft Query(R) the number is displayed
as
-1.123400000000000E-00
Microsoft Query(R) makes a call to SQLColAttributes returning the
display size of 22. The format defined in the ODBC SDK for display of
a double precision data is the following:
Total 22 Length
(a sign,15 digits,a decimal point,the letter E,a
sign and 3 digits)
Our example contains a total string length of 23 with 16 digits
instead of the 15 digits for precision. This is why the data is displayed
wrong.
In general to avoid precision problems using ODBC, ensure that data
stored in the Oracle database for a double data type conform to the
specifications described in the Microsoft ODBC Programmer's Reference and
SDK Guide.
7. Oracle8 LOB Datatypes
The Oracle8 ODBC driver supports read access to columns which are of type
BLOB, CLOB or BFILE. The contents of a CLOB, BLOB or BFILE column must be
retreived through the SQLGetData routine.
An application can detect which type of LOB data a column contains through
SQLDescribeCol or SQLColAttributes. The Oracle8 ODBC driver extends
the list of SQL types supported by adding SQL_ORCL_BFILE, SQL_ORCL_CLOB,
and SQL_ORCL_BLOB. These new SQL types are defined
in sqora.h.
8. Known Software Problems for Oracle8 ODBC Driver
1. The SQLSetStmtOption SQL_QUERY_TIMEOUT does not work if the database
server is running on Windows NT.
2. Connection in the format of username@servicename
is not supported.
9. Software Problems Fixed
Version 8.0.4.0.0
- Return SQL_ERROR if a trigger, procedure or function is created with
PL/SQL compilation errors. (Bug #563307)
- Support parse of ALIAS in outer join. (Bug #572621)
- Support MOD scalar function. (Bug #588509)
- Fix the order of the result set for SQLProcedureColumns.
(Bug #590612)
- SQLGetCursorName and SQLSetCursorName properly return cursor names. This
functionality was implemented to support the Microsoft ODBC cursor library.
However the Oracle ODBC driver does not support positioned updates.
(Bug #555089)
- SQLColAttribute correctly returns the precision
of a column. (No Bug)
- Data-at-execution parameters for character data
has been fixed. (No Bug)
- The prefetch count on the datasource configuration screen can now be
set to 0. (No Bug)
- The ODBC Administrator is now installed into the system folder and has
been removed from the Oracle installer directory.
(Bug #547411)
- The Oracle ODBC driver DLLs are now installed into the Oracle installer
directory and have been removed from the system
folder. (Bug #532713)
- The SQORA.H file is now installed in the Oracle
ODBC folder. (Bug #522833)
- The Oracle ODBC driver DLLs are now properly removed from the system on
a deinstall. (Bug #522831)
Version 8.0.3.0.2
- Added support in SQLBindParameter to allow bulk Inserts and Updates
to an Oracle Database (No Bug).
- Fixed in SQLPutData when parameters were set to data-at-execution
for SQL_CHAR and SQL_VARCHAR datatypes only the last SQLPutData
buffer was written to the database (No Bug).
- Fixed in SQLBindParameter a problem not detecting changed data when
using null terminated strings (SQL_NTS) (No Bug).
- Fixed in SQLGetData, SQLExecute, SQLExecDirect data corruption when
retrieving and inserting SQL_TINYINT data. The corruption would occur
if the bound column or parameter was defined as a SQL_C_STINYINT,
SQL_C_UTINYINT or SQL_TINYINT (No Bug).
- Fixed in SQLGetData to detection for null data when retrieving
binary data such as SQL_LONGVARBINARY (No Bug).
- Fixed General Protection Fault in SQLPutData when a given buffer len
was equal to zero (No Bug).
- SQLTables no returns the correct table type in the result set
for system tables (Bug #559182).
Version 8.0.3.0.1
- Added support for SQLSetCursorName and SQLGetCursorName.
This corrected the problem of the ODBC cursor library not being
loaded (Bug #444287).
- Added support in SQLGetInfo for case sensitive identifiers
(table owner, table name, column name) (Bug #545279).
- Fixed General Protection Fault in SQLFetch, SQLExtendedFetch
and SQLGetData when returning result of columns containing null
dates (Bug #523849).
- Fixed problem of properly interpreting the pcbValue parameter on
SQLBindParameter when the data type is not character or
binary (Bug #537133).
- Fixed in SQLBindParameter to properly initialized hour, minute and second
fields of the Oracle date structure when binding an input parameter in
the form {d 'yyyy-mm-dd'} (No Bug).
- Fixed in SQLFreeStmt SQL_CLOSE option no longer unbinds the bounded
column or parameters (No Bug).
- SQL_NULL_DATA is now properly returned in SQLFetch,SQLExtendedFetch
and SQLGetData for columns whose contents is NULL. This fixes the
problem in PowerBuilder where columns containing nulls were being
displayed with the values from the previous row instead of a null.
This also fixes the problem where MSAccess and PowerBuilder were unable
to update columns that contained a null value
(No Bug).
- The nullable column in the result set of SQLDescribeCol and
SQLColAttributes is returned properly. It was returning the
opposite value of what it should have been (No
Bug).
- SQLProcedureColumns now returns the correct value
for 'scale' (No Bug).
****************************************************************************
Oracle is a registered trademark of Oracle Corporation.
Microsoft Access, Microsoft Query, Microsoft, MS are
registered trademarks of Microsoft Corporation.
Microsoft Windows NT, Windows 95 and Open Database Connectivity are
trademarks of Microsoft Corporation.
PowerBuilder is a registered trademark of Sysbase
Inc.
All other trademarks and registered trademarks are the property
of their respective owners.
****************************************************************************