Oracle ODBC Driver 10

Oracle ODBC Driver 10.2.0.2.0

DESCRIPTION

The Oracle ODBC Driver enables Microsoft[R] Windows XP [R}, Windows 2000 [R], Windows NT[R] and Windows 98 [R] applications that implement the 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, a Windows help file, 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 Net version 10.2.0.0.0

· Network transport on the client.

· Oracle Server

NEW FEATURES

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.

ODBC 9.2.0.4.0

- Added ability to register a callback routine to receive notification of connection failover events.
- Changed the default value of the data source configuration option “Microsoft Transaction Server (MTS) Support” to be disabled. The check box for this option in the data source configuration form will now have a check mark in it by default. Enabling MTS support causes problems in ‘dblinks’ and ‘connection failover’ even if MTS is not used. Changing the default value to disabled will help reduce support calls. This change is not reflected in the online documentation file for the ODBC driver. The documentation will be corrected in the next release.

ODBC 9.2.0.3.0

· Added data source configuration option to disable SQLDescribeParam support. (Bug 2485192)

· Deprecated the RemoveControlChars feature from the oraodbc.ini file. The ODBC driver will always strip invalid control characters from SQL statements before passing the statement to the Oracle database.

· Changed the online help to be HTML based.

· Changed the default behavior of the driver to always remove invalid control characters from SQL statements. Deprecated the RemoveControlChars option which was located in the oraodbc.ini file. This option is no longer necessary. (Bug2543632)

ODBC 9.2.0.2.0

· Implemented an internal pre-fetch cache to improve the performance of fetching data, especially for applications which are fetching one row at a time. The size of the cache is a data source configuration option.

· Deprecated the 'Pre-Fetch Count' data source configuration option and replaced it with the option 'Fetch Buffer Size'. The 'Fetch Buffer Size' option is used to specify the size of the internal pre-fetch cache. The default is 64,000 bytes.

· Extended Unicode support to utilize the Unicode enhancements added in Oracle 9.0.1. Unicode SQL strings can now be sent to the database server and columns within a table can be defined as containing Unicode data. The driver now supports the SQL types SQL_WCHAR, SQL_WVARCHAR and SQL_WLONGVARCHAR.

· Added the data source configuration option 'Numeric Settings'. This option is used to choose which numeric settings will be used in receiving and returning numeric data that is bound as strings. This option allows the user to choose Oracle NLS settings (the default setting), Microsoft regional settings (to provide a way to mirror the Oracle OLE DB driver's behavior for greater interoperability) and US numeric settings, which are necessary when using MS Access or DAO in non-US environments. (Bug 2148838 and others)

· Added support for the SQL TIMESTAMP data type. This support is only available in Oracle 9.0.1 or higher clients and requires an Oracle 9.0.1 or higher database.

ODBC 9.0.1.3.0

· Added support for connection syntax "<username>/<password> as sysdba" and "<username>/<password> as sysoper". The "as sysdba" and "as sysoper" string can also be contained in the password field. (Bug 2114033)

· Added support for the statement attribute SQL_ATTR_RETRIEVE_DATA. (Bug 2165706)

ODBC 9.0.1.2.0

· Added support for <username>/<password> syntax to be used as username to log on. (as requested by Bug 1094170)

ODBC 8.1.7.4.0

· When connected to an Oracle 8.1.6 or higher database the ODBC driver will now return SQL_SVE_CASE in response to a SQLGetInfo call for SQL_SQL92_VALUE_EXPRESSIONS. (as requested by bug 1807444).

· Added support for fetch and position by BOOKMARK and the SQLBulkOperations routine. A side effect of this is that the ADO Recordcount property will now return the number of records in the resultset instead of -1. (Bug 898817)

· When the data source configuration option "Force SQL_WCHAR Support" is enabled the functions SQLColumns and SQLProcedureColumns will now report character columns as being SQL_WCHAR, SQL_WVARCHAR or SQL_WLONGVARCHAR. (Bug 1735893)

ODBC 8.1.7.3.0

· An option has been added to the configuration screen to allow users to change the default value of the SQL_ATTR_METADATA_ID connections and statement attribute. It usually defaults to SQL_FALSE. Checking this data source option will cause the default to be SQL_TRUE at connection time. The implications of these values are listed in the ODBC specifications and so will not be repeated here. Calls made by the application to specifically change the value of the attribute after connection time will be unaffected by this option and will complete their functions as expected. This option will be in the Workarounds section of the configuration screen with the caption 'Set Metadata Id Default to SQL_TRUE'. (as requested by bug1671529)

· An option has been added to the configuration screen to allow users to turn on support for SQLGetData extensions SQL_GD_ANY_COLUMN, SQL_GD_ANY_ORDER and SQL_GD_BOUND. (SQL_GD_BLOCK is always supported.) Turning on this option will of necessity implicitly turn on the Force Retrieval of Longs option, even if the Force Retrieval of Longs option is not selected in the configuration screen. This means that all behavior associated with the Force Retrieval of Longs option will also apply to the SQLGetData extensions option.

ODBC 8.1.7.2.0

· The ODBC installation now supports multiple Oracle homes. Each installation of the ODBC driver will be uniquely identified by the name of the Oracle home which it is installed under. For example, if the name of the Oracle home is "OraHome81" the ODBC driver will installed as "Oracle in OraHome81". The Oracle ODBC driver use to always be installed as "Oracle ODBC Driver". This list of installed ODBC drivers can be viewed from the ODBC Administrator utility under the "Drivers" tab.

When an existing Oracle 8.1.7 home is upgraded to the ODBC 8.1.7.2.0 driver the installation will convert existing data source definitions for the "Oracle ODBC Driver" to the name of the newly installed driver.

· Added support for SQL_ATTR_METADATA_ID attribute (Bug 1373064). This attribute is an ODBC 3.0 feature which is used to specify case sensitivity on arguments of the ODBC catalog functions. For example, if SQL_ATTR_METADATA_ID is set to SQL_TRUE then the case of the TableName argument of the function SQLTables is not significant. The default value, as defined by the Microsoft ODBC specification, is SQL_FALSE (case sensitive).

Prior to supporting SQL_ATTR_METADATA_ID all arguments to catalog functions were treated as case insensitive unless they were contained in double quotes. Existing applications may need to be revised if they are passing case sensitive arguments for objects which are stored in the database as case insensitive. For example, the call "{call proc1(?)}" use to succeed if 'proc1' was stored in the database as 'PROC1'. Now that same call will succeed if the procedure name is stored in the database as 'proc1' or if the SQL_ATTR_METADATA_ID is set to SQL_TRUE.

· Changed the SQLGetInfo return value of SQL_DBMS_NAME to be "Oracle". The value returned use to be "Oracle8". (Bug 1494101)

· Added a "Test Connection" button to the ODBC data source configuration screen. This feature obsoletes the ODBC Test Utility which has been shipping with the ODBC driver. The ODBC Test Utility has been removed from the ODBC installation.

ODBC 8.1.7.1.0

· Reorganized the ODBC data source configuration interface. Integrated TNS name selection with the tnsname.ora located on the system.

· Added support for Microsoft EXEC syntax. A procedure (or function) call specified in an EXEC statement will be translated to its equivalent Oracle procedure (or function) call before being processed by the Oracle8 database server if this feature is enabled.

· Added a data source configuration option to enable/disable support of Microsoft EXEC syntax.

· Added a data source configuration option for Batch Autocommit Mode. The default behavior for the Oracle8 ODBC driver is to rollback a transaction if there was an error on one or more rows. The default behavior for the Oracle7 ODBC driver is to commit the transaction up to the row an error was encountered. This option was added to be able to configure an data source to be compatible with the Oracle7 ODBC driver. An additional option was added, which is only available in Oracle8i clients, which will commit all rows that did not have an error.

· Added a data source configuration option to force SQLDescribeCol to return a data type of SQL_WCHAR for SQL_CHAR columns, SQL_WVARCHAR for SQL_VARCHAR columns, and SQL_WLONGVARCHAR for SQL_LONGVARCHAR columns. Enabling this option allows ADO applications to use Unicode. ADO relies on the return value of SQLDescribeCol to determine how to bind the result column. Currently the Oracle ODBC driver would never return a data type of 'SQL_W' because the database does not support defining columns as type Unicode. By default Force WCHAR Support is disabled.

· Improved the performance of the catalog functions SQLColumns, SQLPrimaryKeys and SQLTablePrivileges.

ODBC 8.1.5.5.0

· The Microsoft ODBC compliance level of the Oracle8 ODBC driver is now 3.51.

· The Oracle8 ODBC driver now supports Unicode. Unicode support is dependent on the Unicode features available through the Oracle Call Interface (OCI). OCI 8.1.5 supports inputting Unicode data into a database through SQLBindParameter and retrieving Unicode data from a database through SQLBindCol or SQLGetData.

· Added a data source configuration option to disable Microsoft Transaction Server (MTS) support. By default MTS support is enabled.

· When a user attempts to connect to the database with an expired password, the driver will prompt the user to change the password and then will connect the user to the database when the password has been changed. If the user tries to connect using SQLDriverConnect with a SQL_DRIVER_NOPROMPT parameter, the driver will not prompt for the password change but will simply fail out of the connect attempt with an error indicating that the password has expired.

· The Microsoft Redistributable components for ODBC have been removed from the installation. These components are installed as part of the operating system. The latest versions of these components are often installed by Microsoft products or are available from their Universal Data Access web site (http://www.microsoft.com/data/).

· The file sqora.wri has been renamed to ODBCRelnotes.wri.

ODBC 8.1.5.4.0

· Microsoft Transaction Server (MTS) support is dependent on the ORAMTS Patch 8.1.5.0.1. ODBC support for the ORAMTS patch had previously been made available with the ODBC 8.1.5.3a.0 patch kit.

· Added support for SQL_GD_BLOCK (SQL_GETDATA_EXTENSIONS).

· A registry entry (Password) may now be set in the registry for a DSN and will be read by the driver to obtain a password for a connection instead of prompting the user for the password. This was implemented to be compatible with the Oracle7 ODBC driver. Note that we do not provide any tools to store passwords in the registry.

· The option of forcing OCI cursors to close upon a call to SQLFreeStmt with a SQL_CLOSE or SQL_DROP parameter, a call to SQLCloseCursor, or a call to SQLFreeHandle on a statement handle is now available to the user. The default of this option will not force the OCI cursors to close under the above circumstances. This option was added because in some cases it is desirable to forcibly close OCI cursors under these circumstances, but to do so when it is not specifically desired can cause an unnecessary performance hit.

ODBC 8.1.5.3.0

· Enhanced our implementation of returning result sets from procedure calls. The refcursor parameters can be omitted from the procedure call. This was done to be consistent and compatible with other ODBC implementations.

ODBC 8.1.5.0.0

· Microsoft Transaction Server (MTS) Support. Requires a minimum of an Oracle 8.1.5 client.

ODBC 8.0.5.5.0

· Support for scrollable and updateable cursors.

ODBC 8.0.5.4.0

· SQL_C_NUMERIC data type

ODBC 8.0.5.3.0

· Option to enable/disable support of SQL_ATTR_QUERY_TIMEOUT

ODBC 8.0.5.1.0

· LOB Support (requires minimum of Oracle 8.0.5 client)

· Connection Pooling

ODBC 8.0.5

· Returning result sets from procedure calls.

· ODBC driver supports connection failover capabilities provided by Failsafe and Parallel Server.

ODBC 8.0.4.0.2

· SQLDescribeParam Support

· SQLBrowseConnect Support

ODBC 8.0.4.0.0

· ODBC 3.0 Compliant

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 3rd Party

Version Versions Systems MDAC Products

10.2.0.2.0 10.2.0.1.0 Windows XP SP2 2.70.9001.0 MSOffice XP

10.1.0.2.0 MSOffice 2000

9.2.0.2.0 Visual Basic 6.0

9.0.1.4.0

10.2.0.1.0 10.2.0.1.0 Windows XP SP2 2.70.9001.0 MSOffice XP

10.1.0.2.0 MSOffice 2000

9.2.0.2.0 Visual Basic 6.0

9.0.1.4.0

10.1.0.2.0 10.1.0.2.0 Windows XP SP2 2.70.9001.0 MSOffice XP

9.2.0.2.0 MSOffice 2000

9.0.1.4.0 Visual Basic 6.0

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 Windows XP, Windows 2000, Windows NT or Windows 98 including:

A minimum of 32 MB system memory

A minimum of 3 MB free disk space

SOFTWARE REQUIRED

Microsoft Windows XP, Windows 2000, Windows NT 4.0 or Windows 98 operating system.

Oracle Net Client 10.2.0.0.0

Oracle Universal Installer shipping with Oracle 10.2.0.0.0

SERVER SOFTWARE REQUIREMENTS

This section lists the server software required to support ODBC enabled applications through the Oracle ODBC Driver.

Oracle Server 8.1.7 or higher

RELEASE NOTES

1. Post-Installation

Use the Microsoft(R) ODBC Administrator to configure your Oracle ODBC Driver data sources. Refer to the Oracle ODBC driver help file section entitled Configuring the Data Source.

2. New Features

Refer to the Oracle ODBC Driver help file section entitled New Features.

3. 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 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 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.

4. Known Software Problems for Oracle ODBC Driver

· The SQLSetStmtOption SQL_QUERY_TIMEOUT does not work if the database server is running on Windows NT.

· SQLCancel does not work if you are canceling a statement that is executing on Windows NT database server.

****************************************************************************

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.