ODBC and the Standard CLI
As a result of this alignment, the following are true:
The Core interface conformance level encompasses all the features in the ISO
CLI and all the non-optional features in the X/Open CLI. Optional features of
the X/Open CLI appear in higher interface conformance levels. Because all ODBC
3.0 drivers are required to support the features in the Core interface
conformance level, the following are true:
In addition to the call-level interface specifications contained in the
ISO/IEC and X/Open CLI standards, ODBC implements the following features. Note that
some of these features existed in versions of ODBC prior to ODBC 3.0:
The X/Open CAE Specification “Data Management: SQL Call-Level Interface (CLI)”
ISO/IEC 9075-3:1995 (E) Call-Level Interface (SQL/CLI)
An application written to the X/Open and ISO CLI specifications will work with
an ODBC 3.0 driver or a standards-compliant driver when it is compiled with
the ODBC 3.0 header files and linked with ODBC 3.0 libraries, and when it gains
access to the driver through the ODBC 3.0 Driver Manager.
A driver written to the X/Open and ISO CLI specifications will work with an
ODBC 3.0 application or a standards-compliant application when it is compiled
with the ODBC 3.0 header files and linked with ODBC 3.0 libraries, and when the
application gains access to the driver through the ODBC 3.0 Driver Manager. (For
more information, see “Standards-Compliant Applications and Drivers” in Chapter 17, “Programming Considerations.”)
An ODBC 3.0 driver will support all the features used by a standards-compliant
application.
An ODBC 3.0 application using only the features in ISO CLI and the
non-optional features of the X/Open CLI will work with any standards-compliant driver.
Multirow fetches by a single function call
Binding to an array of parameters
Bookmark support including fetching by bookmark, variable-length bookmarks,
and bulk update and delete by bookmark operations on discontiguous rows
Row-wise binding
Binding offsets
Support for batches of SQL statements, either in a stored procedure or as a
sequence of SQL statements executed through SQLExecute or SQLExecDirect
Exact or approximate cursor row counts
Positioned update and delete operations and batched updates and deletes by
function call (SQLSetPos)
Catalog functions that extract information from the information schema without
the need for supporting information schema views
Escape sequences for outer joins, scalar functions, datetime literals,
interval literals, and stored procedures
Code-page translation libraries
Reporting of a driver’s ANSI-conformance level and SQL support
On-demand automatic population of implementation parameter descriptor
Enhanced diagnostics and row and parameter status arrays
Datetime, interval, numeric/decimal, and 64-bit integer application buffer
types
Asynchronous execution
Stored procedure support, including escape sequences, output parameter binding
mechanisms, and catalog functions
Connection enhancements including support for connection attributes and
attribute browsing