The Oracle ODBC Driver Release Notes describes these topics.
1.1 Description
The Oracle ODBC Driver enables applications to connect to Oracle database from a Windows client as well as from a UNIX client that use Microsoft Open Database Connectivity (ODBC) API to read from and write to Oracle databases.
The Oracle ODBC Driver distribution kit consists of Dynamic Link Libraries and shared libraries (for UNIX platforms), help file (on UNIX and Windows platforms), a copy of the license and this product description. To use an ODBC enabled application the following software is required in addition to the Oracle ODBC Driver:
-
Oracle Client & Net version 12.2
-
Oracle Database Server
Oracle ODBC Driver complies with ODBC 3.52 specifications.
1.2.1 ODBC Release 21c, Version 21.1
Describes new features for release 21c, version 21.1.
There are no new features for the Oracle ODBC Driver release 21c, version 21.1.
1.2.2 ODBC Release 19c, Version 19.1.0.0.0
Describes new features for release 19c, version 19.1.0.0.0
There are no new features of the Oracle ODBC Driver release 19c, version 19.1.0.0.0 software for the Microsoft Windows Server 2008, Windows Server 2008 R2, Windows Server 2012, Windows Server 2012 R2, Windows 7, Windows 8, Windows 8.1, Windows 10, Linux X86-64 (32-bit, 64-bit), Sun Solaris SPARC64 (32-bit, 64-bit), IBM AIX 5L (32-bit, 64-bit), Sun Solaris X64 (32-bit, 64-bit), HPUX IA64 (32-bit, 64-bit), ZLinux (32-bit, 64-bit) operating systems.
1.2.3 ODBC Release 18c, Version 18.1.0.0.0
Describes new features for release 18c, version 18.1.0.0.0
- unixODBC ODBC Driver Manager is upgraded from unixODBC–2.3.2 to unixODBC–2.3.4.
1.2.4 ODBC 12.2.0.1.0
Describes new features for release 12.2.0.1.0.
-
Support is added for long identifiers up to 128 bytes.
-
Support is added for time stamp with time zone and time stamp with local time zone.
This features does not require changes to the existing ODBC application where ODBC
TIMESTAMP
data type is used. If an existing application uses ODBCTIMESTAMP
data type and the database column isTIMESTAMP
, the current behavior is preserved.For database column
TIMESTAMP WITH TIMEZONE
orTIMESTAMP WITH LOCAL TIMEZONE
, the time component in the ODBCTIMESTAMP_STRUCT
is in the user’s session time zone. This behavior is transparent to the user’s application, requiring no change to the ODBC application.
1.3 Functionality
The Oracle ODBC Driver complies with Version 3.52 of the Microsoft ODBC specification.
1.4 Software Required
Oracle ODBC driver was certified against the currently supported Windows and UNIX operating system versions, the most current release of Oracle Net Client and Oracle Universal Installer shipping with Oracle Database.
Oracle ODBC driver was certified against:
-
Windows operating system versions: Windows Server 2008, Windows Server 2008 R2, Windows 7,Windows 8, and Windows Server 2012
-
UNIX operating system versions: 32-bit and 64-bit ports of Linux X86-64, AIX5L, Solaris.Sparc64, Solaris X64, HPUX.IA64, and ZLinux
Oracle Net Client 12.2
Oracle Universal Installer shipping with Oracle Database 12.2
1.5 Server Software Requirements
Oracle Database Server 10.2 or later is the server software required to support ODBC enabled applications through the Oracle ODBC Driver.
1.6 Hardware Required
What are the requirements for Oracle ODBC Driver system configuration for Windows and UNIX platforms?
The Oracle ODBC Driver requires a system configuration supported by certified Windows platforms as mentioned in Software Required and on few UNIX platforms as documented in Oracle ODBC Driver for UNIX Platforms Readme.
1.7 Testing Matrix
The following table summarizes the Windows operating system versions on which ODBC driver was certified.
Table 1-1 Oracle ODBC Driver Is Certified on Windows Operating Systems
Driver Version | Database Version | Operating Systems |
---|---|---|
12.2.0.1 |
As Supported by OCI |
See Software Required. |
1.8 More Information
To learn more about post-installation tasks, known software problems for Oracle ODBC Driver, information about ODBC Driver for UNIX platforms, software problems fixed, and the certification matrix on UNIX platforms, see the topics that follow.
1.8.1 Post-Installation
You must configure the data sources on Windows and on UNIX platforms.
Use the Microsoft ODBC Administrator to configure your Oracle ODBC Driver data sources on Windows. See the information about configuring the data source in Oracle Database Development Guide for more information.
For the UNIX Client, see ODBC Driver For UNIX Platforms.
1.8.2 Known Software Problems for Oracle ODBC Driver
Learn about known software problems and unsupported usage.
-
The
SQLSetStmtOption
SQL_QUERY_TIMEOUT
does not work if the database server is running on Windows NT. As a workaround, settingBREAK_POLL_SKIP=1
in the server'ssqlnet.ora
file solves the problem. By default, this is set to 100, and the database would not check for a time out set by the ODBC application. -
SQLBindParameter
when used to bind a buffer asSQL_PARAM_INPUT_OUTPUT
and having a PL/SQL procedure withIN OUT
parameter and if the parameter is not changed in the procedure, then the driver will not returnSQL_NULL_DATA
inStrLen_or_IndPtr
. -
Oracle ODBC driver does not support the usage of
Keyset
cursors with theCASE
clause in a SQLSELECT
query.
1.8.3 ODBC Driver For UNIX Platforms
Oracle ODBC Driver for UNIX platforms complies with ODBC 3.52 specifications. It is based on features of Oracle 12.2 client.
See the Certification Matrix, to learn more about the platforms on which Oracle ODBC Driver 12.2 is supported.
This section describes the following topics.
1.8.3.1 Pre-installation Task – Install ODBC DM from unixODBC.org
Complete this pre-installation task before installing the ODBC Driver for UNIX platforms.
Please install ODBC Driver Manager after downloading .tar
file from http://www.unixodbc.org/
.
1.8.3.2 Post-installation Task
Complete these post-installation tasks.
-
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 whereunixODBC 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 toOracle 12c ODBC driver
. -
arg-4
: Data Source Name (optional); if no value is passed, DSN is set toOracleODBC-12c
.
-
-
Update and verify values of environment variables such as:
PATH
,LD_LIBRARY_PATH
,LIBPATH
, andTNS_ADMIN
.
1.8.3.3 Uninstalling ODBC Driver
Complete these tasks to uninstall the Oracle ODBC Driver from UNIX platforms.
-
Update
~/.odbc.ini
file:-
Remove the DSN entry (for example,
OracleODBC-12c
) from[ODBC Data Sources]
. -
Remove the complete DSN information for the corresponding DSN.
-
-
Update
ODBCDM_HOME
/etc/odbcinst.ini
file:-
Remove the driver information for Oracle 12c ODBC driver.
-
-
Remove Oracle ODBC driver for UNIX platforms
-
Delete
libsqora.so.12.1
-
-
Reset environment variables such as:
PATH
,LD_LIBRARY_PATH
,LIBPATH
, andTNS_ADMIN
.
1.8.3.5 Certification Matrix
Oracle has certified Oracle ODBC Driver for release 12.2 against DM 2.3.1 on the listed UNIX platforms.
These UNIX platforms are shown in Table 1-2. On 64bit UNIX platforms, DM 2.3.1 is built with the -DBUILD_REAL_64_BIT_MODE -DSIZEOF_LONG=8 -fshort-wchar
flags and then certified.
Table 1-2 Certification Matrix for Oracle ODBC Driver on UNIX Platforms
Platform | 32-bit/64-bit | UnixODBC DM version |
---|---|---|
Linux x86-64 |
32-bit, 64-bit |
2.3.1 |
Solaris SPARC64 |
32-bit, 64-bit |
2.3.1 |
AIX5L |
32-bit, 64-bit |
2.3.1 |
Solaris x64 |
32-bit, 64-bit |
2.3.1 |
HPUX.IA64 |
32-bit, 64-bit |
2.3.1 |
ZLinux |
32-bit, 64-bit |
2.3.1 |
See the Installation guide of each platform to learn more about each operating system and Oracle Client software requirements.
1.8.4 Software Problems Fixed
Software problems fixed are shown by version.
Most of the software bug fixes are generic in nature though some may have been discovered on a particular platform. There could be a small number of platform specific software bug fixes as well. Software bug fixes are described for the following versions.
1.8.4.1 Version 21.1.0.0.0
Lists the problems fixed for version 21.1.0.0.0
-
Using Oracle ODBC Driver 19c, the
ORA-01461
error occurs when using bound variables to insert multiple records into a table (Bug 31705178). -
SQLBindParameter ()
with a zero buffer length resulted in errorORA-24812
(Bug 31628155). -
SQLColumns ()
returned an incorrect data type for some columns when fetched (Bug 31608753). -
Using
SQLPrimaryKeys ()
with case sensitive table returns the correct primary key (Bug 31449196). -
The SQL API function
SQLRowCount ()
returns0
for theMERGE
command (Bug 31200057). -
SQLColumns
can fetch theROWID
data type column successfully (Bug 31134284). -
Inserting a timestamp with a fraction in Oracle ODBC Driver extension syntax resulted in an error (Bug 30920050).
-
SQL connection error
#1 State: 25000 Message: [Microsoft][ODBC Driver Manager] Failed to enlist on the calling object's transaction
(Bug 30317397). -
Failure to insert data as
NCHAR
orNVARCHAR
data types using Oracle ODBC Driver 18.0.0.0 resulted in errorORA-01461
(Bug 29833984).
1.8.4.2 Version 19.1.0.0.0
Lists the problems fixed for version 19.1.0.0.0
-
12.2 UNIX ODBC Driver failed with
HY003:1:-1:[ORACLE][ODBC][ORA]ORA-0001
error. (Bug 27684767) -
Row
SELECT
operation in Oracle ODBC Driver is slower than DataDirect ODBC Driver. (Bug 27641555) -
Oracle ODBC raised
ORA-3137 [KPOAL8CHECK-3]
error, when settingBAM=AllSuccessful
and connecting to DB 12.2. (Bug 28250843) -
Oracle ODBC Driver in 12c failed at
TIMESTAMP
conversion. (Bug 27132192) -
Application crashed when executing PL/SQL with
LONG
literal by ODBC call. (Bug 27743516)
1.8.4.3 Version 18.1.0.0.0
Lists the problems fixed for version 18.1.0.0.0
-
Upgrade unixODBC from 2.3.2 to 2.3.4. (Bug 19179407)
-
ODBC
SQLColumns
no longer returns an error when passing in an empty string as a column name. (Bug 23637102) -
ODBC
Recordset.Update
no longer fails with errorORA-00942
using 12c Oracle ODBC Driver. (Bug 24926081) -
Setting
DBA=R
in DSN now works when connecting to Exadata Express Cloud. (Bug 25376850) -
OdbcConnection.GetSchema
no longer throws aSYSTEM.ACCESSVIOLATIONEXCEPTION
error. (Bug 25597467) -
ODBC Driver no longer crashes when
SQL_DESC_BIND_OFFSET_PTR
is set. (Bug 25832115) -
ODBC
SQL_ATTR_QUERY_TIMEOUT
now works as expected. (Bug 26352452) -
Row insert operation in Oracle ODBC is no longer slower than the DataDirect ODBC Driver (Bug 23288642)
-
After migrating an 11gR2 ADO/ODBC application, it no longer causes the wrong result on a recordset operation. (Bug 19000463)
-
ODBC Driver API
SQLStatistics
now passes theSCHEMANAME
value for filtering. (Bug 23259086) -
ODBC
SQLFetch
no longer fails with abort (core dumped) error. (Bug 23186348) -
ODBC
SQLFetch
no longer returns no data when binding aTIMESTAMP
column withSQL_C_CHAR
. (Bug 23120325)
1.8.4.4 Version 12.2.0.1.0
Lists the problems fixed for version 12.2.0.1.0.
-
Oracle ODBC driver 12.1.0.2 had a performance degradation that was observed when using the
DBMS.DESCRIBE
procedure. (Bug 22566981) -
ODBC Driver now includes the version number in the driver name when
OCI_ATTR_DRIVER_NAME
is set, such asODBCCLNT : 12.2.0.1.0
. (Bug 21795969) -
Oracle ODBC driver truncated an output parameter of
SP
when run from 12.1.0.2. (Bug 21616079) -
Multi-threaded UNIX ODBC application hung on
SSLSSREGHDLR
. (Bug 21459317) -
Oracle ODBC driver now allows a Server name length to 1024 bytes long. (Bug 21379636)
-
Oracle ODBC driver raised an error
[ORACLE][ODBC][ORA]ORA-00911 :INVALID CHARACTER(#911)
. (Bug 21372951) -
Oracle ODBC driver in 12.2 encountered an
ORA:01000
error when statement caching was enabled. (Bug 21255142) -
Oracle ODBC driver calling a procedure with two out parameters,
RAW
andDATE
failed with anORA-01483
error. (Bug 20716320 -
Oracle ODBC driver returned an empty message string in the generated exception. (Bug 20517697)
-
Oracle ODBC driver crashed during a call of Oracle functions with return type
REFCURSOR
. (Bug 20387007) -
Oracle ODBC driver corrupted data when inserting an image of
BLOB
type. (Bug 19720146) -
Oracle ODBC driver
SQLColumns()
API returned the wrong metadata for theTSLTZ
column. (Bug 19573657) -
Oracle ODBC driver had different
TSLTZ
outputs when binding withCHAR
types. (Bug 19545406) -
Oracle ODBC driver quit at
SQLFETCH()
with cursor typeSQL_CURSOR_KEYSET_DRIVEN
. (Bug 19531841) -
Oracle ODBC driver quit while fetching from a procedure that returns a
REF
cursor. (Bug 19530596) -
Oracle ODBC driver during a
SQLFETCH()
gave an undefined symbol:M_FMEMALLOC
withSQL_C_WCHAR
. (Bug 19529966) -
Oracle ODBC driver during a
SQLFETCH()
quit when bound withSQL_C_CHAR
orSQL_C_BINARY
. (Bug 19529718) -
Oracle ODBC driver crashed when passing more than 4093 characters. (Bug 19524047)
-
Oracle ODBC driver using a stored procedure with
NCHAR
data type did not execute correctly with ODBC 12.1.0.1. (Bug 19158940) -
Oracle ODBC driver 12.1.0.1 using a procedure returned
NULL
. (Bug 19026257) -
Migrating an Oracle Database 11g Release 2 (11.2) ADO/ODBC application caused the wrong result on a recordset operation. (Bug 19000463)
-
Oracle ODBC driver could not retrieve a
CLOB
containingCHR(0)
. (Bug 18749178) -
Oracle ODBC driver raised a database exception with an
INSERT
statement with 11.2.0.3 + P30. (Bug 18681683) -
Oracle ODBC driver got an access violation in Japanese environment when inserting over 64K data into a
LONG RAW
column. (Bug 18606539) -
Oracle ODBC driver reported an
ORA-01461
error while inserting intoNVARCHAR2
columns with the Chinese language. (Bug 18232462) -
ODBC 12.1 application using a query with comments embedded in them failed with an
ORA-24374
error. (Bug 18024745) -
Oracle ODBC driver did not free a temporary LOB after fetching data from it. (Bug 17928169)
-
A Microsoft Access client hung trying to link a table over a database link. (Bug 17925209)
-
ODBC connection hung in Japanese environment when the
CLOB
type contained the data ofCHR(0)
. (Bug 17901129) -
Oracle ODBC driver crashed on
ORANLS12
. (Bug 17896495) -
Oracle ODBC driver reported an
ORA-1410
error when fetching data from an index organized table usingKEYSET_DRIVEN
cursor. (Bug 17583959) -
Oracle ODBC driver using a query returned a truncated value. (Bug 16959397)
-
ODBC application with a
SQLFETCH
afterSQLCOLUMNS
resulted in aSUCCESS_WITH_INFO
message for an invalid view. (Bug 16324625) -
ODBC application with an array insert of LOBs resulted in the last LOB only being inserted multiple times. (Bug 16235055)
-
Oracle ODBC driver with an ODBC idle connection to Microsoft Access resulted in an ODBC call failed error. (Bug 16181438)
-
Oracle ODBC driver gave an access violation at
SQLEXECUTE
when setting incorrect binding atTIMESTAMP
. (Bug 16009315) -
Oracle ODBC driver after upgrade to 11.2,
SQLSETPARAM
andSQL_WCHAR
(NCHAR
) resulted in corruption. (Bug 14623077) -
Oracle ODBC driver reported an
ORA-1843
orORA–1830
error when inserting aDATE
type data the second time. (Bug 14308740) -
Oracle ODBC driver reported an
ORA-22275
error after an errorORA-1
,ORA-14400
error during insertion. (Bug 13518550) -
ODBC application rarely returned an
S1004
for aSQLFETCH
call in a multithreaded application. (Bug 13044472) -
Oracle ODBC driver reported an error
ORA-00918
for a query with inner join andKEYSET_DRIVEN
cursor. (Bug 9642938) -
Oracle ODBC driver now supports
TIMESTAMP WITH LOCAL TIME ZONE
data type. (Bug 7533808) -
Oracle ODBC driver quit when using
SQLPREPARE
with an invalid SQL statement. (Bug 7325015)
1.9 Documentation Accessibility
For information about Oracle's commitment to accessibility, visit the Oracle Accessibility Program website at http://www.oracle.com/pls/topic/lookup?ctx=acc&id=docacc.
Access to Oracle Support
Oracle customers that have purchased support have access to electronic support through My Oracle Support. For information, visit http://www.oracle.com/pls/topic/lookup?ctx=acc&id=info or visit http://www.oracle.com/pls/topic/lookup?ctx=acc&id=trs if you are hearing impaired.
Oracle Database ODBC Driver Release Notes, Release 21
F36985-01
November 2020
Copyright © 2009, 2020, Oracle and/or its affiliates.
This software and related documentation are provided under a license agreement containing restrictions on use and disclosure and are protected by intellectual property laws. Except as expressly permitted in your license agreement or allowed by law, you may not use, copy, reproduce, translate, broadcast, modify, license, transmit, distribute, exhibit, perform, publish, or display any part, in any form, or by any means. Reverse engineering, disassembly, or decompilation of this software, unless required by law for interoperability, is prohibited.
The information contained herein is subject to change without notice and is not warranted to be error-free. If you find any errors, please report them to us in writing.
If this is software or related documentation that is delivered to the U.S. Government or anyone licensing it on behalf of the U.S. Government, then the following notice is applicable:
U.S. GOVERNMENT END USERS: Oracle programs (including any operating system, integrated software, any programs embedded, installed or activated on delivered hardware, and modifications of such programs) and Oracle computer documentation or other Oracle data delivered to or accessed by U.S. Government end users are "commercial computer software" or "commercial computer software documentation" pursuant to the applicable Federal Acquisition Regulation and agency-specific supplemental regulations. As such, the use, reproduction, duplication, release, display, disclosure, modification, preparation of derivative works, and/or adaptation of i) Oracle programs (including any operating system, integrated software, any programs embedded, installed or activated on delivered hardware, and modifications of such programs), ii) Oracle computer documentation and/or iii) other Oracle data, is subject to the rights and limitations specified in the license contained in the applicable contract. The terms governing the U.S. Government’s use of Oracle cloud services are defined by the applicable contract for such services. No other rights are granted to the U.S. Government.
This software or hardware is developed for general use in a variety of information management applications. It is not developed or intended for use in any inherently dangerous applications, including applications that may create a risk of personal injury. If you use this software or hardware in dangerous applications, then you shall be responsible to take all appropriate fail-safe, backup, redundancy, and other measures to ensure its safe use. Oracle Corporation and its affiliates disclaim any liability for any damages caused by use of this software or hardware in dangerous applications.
Oracle and Java are registered trademarks of Oracle and/or its affiliates. Other names may be trademarks of their respective owners.
Intel and Intel Inside are trademarks or registered trademarks of Intel Corporation. All SPARC trademarks are used under license and are trademarks or registered trademarks of SPARC International, Inc. AMD, Epyc, and the AMD logo are trademarks or registered trademarks of Advanced Micro Devices. UNIX is a registered trademark of The Open Group.
This software or hardware and documentation may provide access to or information about content, products, and services from third parties. Oracle Corporation and its affiliates are not responsible for and expressly disclaim all warranties of any kind with respect to third-party content, products, and services unless otherwise set forth in an applicable agreement between you and Oracle. Oracle Corporation and its affiliates will not be responsible for any loss, costs, or damages incurred due to your access to or use of third-party content, products, or services, except as set forth in an applicable agreement between you and Oracle.