Oracle ODBC
Driver 11.1.0.7.0
DESCRIPTION
The Oracle ODBC Driver enables users to connect to
Oracle
database from a Windows client as well as Unix client. It complies with
ODBC 3.52 speicifications. On supported platforms through Oracle ODBC
Driver, applications can read from and write to Oracle databases. The
supported platform details are briefed in 'Testing Matrix' section.
The support for Oracle ODBC Driver for Linux,Solaris
platforms is introduced in 10.2.0.1 and for AIX it is introduced in
10.2.0.4 release. Driver for Unix platforms is based on
features
of Windows version of Oracle ODBC driver. The Oracle ODBC
Driver distribution kit consists
of Dynamic
Link Libraries, required help files, a copy of the license and this
product
description.
NEW FEATURES
ODBC 11.1.0.6.0
- Added support for Disable RULE Hint.
Oracle ODBC Driver now allows user to specify the option to select
whether to use RULE Hint in catalog API’s. The change has been done to
increase the performance of ODBC driver for catalog API’s. The default
value for the option is TRUE which means that RULE Hint will not be
used in catalog API’s by default. (Bug4150034).
- Added support for Bind Number As
Float. By introducing Column Binding for NUMBER Column as FLOAT when
column contains float data speeds up the query execution that uses bind
variables as FLOAT. (Bug4608183).
- Added support for OCI statement
caching feature that provides and manages a cache of statements for
each session. By implementing the support for OCI Statement Caching
option, Oracle ODBC Driver will see the increase in performance where
user have to parse the same statement multiple times in the same
connection. The default value for the statement cache flag is FALSE.
- Changed the behavior of
Result-set cache by saving the un-necessary memory calls to increase
the ODBC Driver Performance.
ODBC 10.2.0.1
- Added support for named parameter,
binding parameters by name. Oracle ODBC Driver now allows application
to specify the parameters to a stored procedure by name, in the
procedure call. Named parameters are only to be used in calls to stored
procedures, and not to be used in other SQL statements. (Bug3617324)
- Changed the behavior of
describing metadata for stored procedures that exist in some package.
The change has been done to increase the performance of ODBC driver for
stored procedure calls. Now if the stored procedure is in some package
then the metadata will be described using PL/SQL procedure. (Bug4030664)
ODBC
10.1.0.2.0
- Added support for NCHAR columns in
INSERT/UPDATE statements with parameter markers. (Bug 2827132) Previously the driver did not notice that the
column was of NCHAR type and failed to set the proper attribute when
binding at the OCI level. As a side effect
the SQLDescribeParam call now returns useful information for parameters
in INSERT/UPDATE statements, though not in other statement types.
- Added support for LOBs larger then 4GB. Requires the Oracle Client and Database to
both be version Oracle 10g or higher.
- Added support for new BINARY_FLOAT and
BINARY_DOUBLE datatypes in 10g and later servers.
- Added support for MONTHNAME and
DAYNAME functions in SQL statements.
TESTING MATRIX
The following table summarizes the testing
configurations
that an ODBC release was certified with.
This table is intended to give an indication of what
environments the
ODBC driver is know to work in. The
table is not meant to be a complete list of all supported environments.
ODBC
Database
Operating
MDAC
Version
Versions
Systems
11.1.0.7.0 As supported
Windows XP SP2
2.81.1117.0
by
OCI.
Red Hat Linux 4.0 (X86-32, X86-64)
Solaris (Sparc32, Sparc64)
AIX (PPC32, PPC64)
FUNCTIONALITY
The Oracle ODBC Driver complies with Version 3.52
of the
Microsoft ODBC specification.
SOFTWARE SUPPORT
If you would like to receive Oracle Support for
your Oracle
ODBC Driver, please call (650) 506-5578 in the US
, or contact your local Oracle Sales office.
Please note
that Oracle will not provide support for the Oracle ODBC Driver unless
a
support contract is in place.
HARDWARE REQUIRED
The Oracle ODBC Driver requires a system
configuration
supported by required operating system and Oracle client including:
A minimum of 32 MB
system memory
A minimum of 3 MB
free disk space
SOFTWARE REQUIRED
To use an ODBC enabled
application the following softwares are required in addition to the
Oracle ODBC
Driver:
- Microsoft Windows XP or supported any
one of the Unix operating system
- Driver Manager
- For Microsfot Windows platforms it
will be part of OS
- For Unix platfroms, it can be
downloaded from www.unixODBC.org against which Oracle ODBC Driver is
certified
- Oracle Components
- Make sure Oracle client and its
dependent components are installed and configured to connect the
required Oracle server
SERVER SOFTWARE
REQUIREMENTS
Same as required by Oracle Client/OCI
MORE INFORMATION
1.
Post-Installation
Use the Microsoft(R) ODBC Administrator to
configure your
Oracle ODBC Driver data sources on Windows. Refer to the Oracle ODBC
driver
help file section entitled Configuring the Data Source. For Unix Client
refer
to point-4 below.
2. Data Conversions
The Oracle 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 an 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 database. Only the original row with 123.9991029382123
exists in the Oracle 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.
3. Known Software
Problems for Oracle ODBC Driver
- The SQLSetStmtOption SQL_QUERY_TIMEOUT
does not work if the database server is running on Windows NT. As
a workaround, Setting BREAK_POLL_SKIP=1 in server's sqlnet.ora
solves the problem. By default, this is set to 100, and the database
would not check for timeout set by the ODBC application.
- SQLCancel does not work if you are
canceling a statement that is executing on Windows NT database server.
4.
ODBC Driver For Unix
4.1 Pre installation task –
Install ODBC DM
from unixODBC.org
- Oracle ODBC driver for Unix is
certified against unixODBC DM version 2.2.12. Customers are encouraged
to use unixODBC DM of version 2.2.12 or above.
- Please install ODBC Driver Manager
after downloading .tar file from http://www.unixodbc.org/
4.2 Post installation
task
- Configure Oracle ODBC driver on Unix
platforms.
You can
configure Oracle ODBC Driver by running
<install-home>/odbc/utl/odbc_update_ini.sh
The
utility “odbc_update_ini.sh” takes four command-line
arguments
- arg-1 : Complete
path where unixODBC DM has been installed.
- arg-2 : Complete
path of driver install location (optional); if this argument is not
passed, the driver path is set to the directory from where the utility
is run.
- arg-3 : Driver
name (optional); if this argument is not passed, driver name is set to
“Oracle 11g ODBC driver”.
- arg-4 : Data
Source Name (optional); if no value is passed, DSN is set to
“OracleODBC-11g”.
- Update/ verify
values of environment variables such as PATH, LD_LIBRARY_PATH,
TNS_ADMIN.
4.3 Uninstalling
ODBC Driver
- Update ~/.odbc.ini file:
- Remove DSN entry (e.g.,
"OracleODBC-11g") from [ODBC Data Sources].
- Remove complete
DSN information for corresponding DSN.
- Update
<ODBCDM_HOME>/etc/odbcinst.ini file:
- Remove driver
information for “Oracle 11g ODBC driver”.
- Remove Oracle ODBC driver for Unix
platform
- Reset environment variables such
as PATH, LD_LIBRARY_PATH, TNS_ADMIN.
5. Software
Problems Fixed
Version 11.1.0.7.0
Note: Most of the fixes are generic in nature
though may be
discovered on a particular platform. There could be small number of
platform
specific fixes as well.
- ODBC driver used
to fail whenever an inline comment(--) in statement. (Bug5374797).
- ODBC Driver used
to crash underload while getting DB version. (Bug5561244).
- ODBC Driver used
return wrong type codes through SQLGetTypeInfo() call.(Bug6044421).
- ODBC Driver used
to report an ora-24328 error on AIX platform. (Bug6084111).
- ODBC setup
utility used to fail to open help file under Japanese environment.
(Bug4575781/6253121).
- ODBC Driver used
to return wrong byte cacluation for multi byte data
i.e SQLGetData() used to return wrong number of bytes. (Bug6273343).
- ODBC setup
utility used to fail while adding the DSN entry under instant client
environment. (Bug6529492).
- ODBC driver used
to fail on Solaris with error IM003. (Bug6684004).
- ODBC driver used
to crash on 64-bit environment while fetching data. (Bug6801211).
Version
11.1.0..6.0
Note: Most of the fixes are generic in nature
though may be
discovered on a particular platform. There could be small number of
platform
specific fixes as well.
- ODBC driver used
to fail in updating output parameter of stored procedure incase it
contains large CLOB parameter as input parameter. (Bug5365475).
- ODBC Driver used
to do improper round off for Double data if connecting to 10GB
database. (Bug5389003).
- ODBC driver used
to fail in updating output parameter of stored procedure incase it
contains large CLOB parameter as input parameter.(Bug5365475).
- ODBC driver used
to truncate CLOB data in case of UNICODE characterset of client.
(Bug5220440).
- ODBC driver used
to return old data on requering the data for Read Only connection.
(Bug5202103).
- ODBC driver used
to report ora-1008, when MFC application requeries the database.
(Bug5147229).
- ODBC driver used
to return wrong value on Fetching a NUMBER Value Which is converted to
SQL_C_CHAR. (Bug5128512).
- ODBC driver used
to return wrong information for few column types. (Bug5015342).
- ODBC driver used
to report ORA-12704 on second invocation of SQLExecute() for NCLOB
columns. (Bug4965677).
- ODBC Driver used
to report crash on exit of ADO/Excel application. (Bug4893583).
- ODBC Driver used
to return 0 as the Datatype on Calling SQLBindCol() after
SQLColumns().This problem appears only on solaris platform but the fix
is generic. (Bug4880062).
- ODBC
Administrator used to show ODBC entries even after uninstalling the
ODBC. (Bug4761792).
- ODBC driver used
to truncate the data retrieved with SQLFetchScroll() call. (Bug4735799).
- ODBC driver used
to result in application crash while
executing stored procedure having large number of parameters.
(Bug4727495).
- DM from
UNIXODBC.ORG reports error: Driver does not support SQLSETSTMTATTR().
This is a port specific (Linux/Solaris) bug. (Bug4710548).
- ODBC driver used
to report undefined symbol 'SLEEP' when failover happens. (Bug4698310).
- ODBC Driver used
to report crash on inserting NULL data using bind offsets. (Bug4694220).
- ODBC Driver used
to set the value corresponding to attribute
SQL_ATTR_PARAMS_PROCESSED_PTR improperly in case of stored procedure
execution with array binds. (Bug4690201).
- ODBC Driver used
to report crash when returning an array of Varchars from an stored
procedure. (Bug4690147).
- ODBC Driver use
to give in complete result set incase the stored procedure contains REF
CURSOR arguments. (Bug4624776).
- ODBC driver used
to report error on executing stored procedure containing
REF CURSOR parameters. (Bug4622561).
- ODBC Driver used
to take more time for fetching data from a NUMBER column containing
FLOAT data. (Bug4608183).
- ODBC driver used
to return Duplicate results for SQLProcedures() API. (Bug4565416).
- ODBC Driver used
to report memory leak for stored procedure containing REF cursors.
(Bug4551675).
- ODBC Driver used
to return ora-1406 when selecting calculated number with large
precision from view. (Bug4546618).
- ODBC driver used
to report crash for executing queries in multithreaded application.
(Bug4519067).
- ODBC
administrator used to invoke English ODBC help in Japanese environment.
(Bug4506552).
- ODBC driver used
to report error "Input string too long, limit 4096", when the long
string contains CRLF code in the starting (Bug4371966).
- ODBC
administrator used to get failed while opening help file under Instant
Client environment. (Bug4309867).
- ODBC Driver used
to return wrong data for stored procedures having NCLOB as OUT Param.
(Bug4235212).
- ODBC catalogue
functions used to take more time to complete. (Bug4150034).
****************************************************************************
For More Information
Contact your Oracle Sales Representative, your
Oracle Sales
Office, or call 1-800-ORACLE1. Outside
of the United States please call 650-506-5701.
Copyright Oracle Corporation 2003. All Rights
Reserved. Printed in the U.S.A.
This document is
provided for informational purposes only.
No contract is implied or allowed.
Oracle is a registered trademark.
Oracle9 and Oracle Net9 are trademarks of Oracle.
Microsoft, Microsoft Access, Microsoft
Query, MS, Windows XP, Windows NT, Windows 2000 and Windows 98 are
trademarks
of Microsoft Corporation. PowerBuilder
is a registered trademark of Sybase Inc. All other company and product
names
mentioned are used for identification purposes only, and may be
trademarks of
their respective owners. Oracle
Corporation World Headquarters is located at 500
Oracle Parkway, Redwood Shores, CA
94065 U.S.A.