Status of support for ODBC functions

Each function has its own ODBC 3.0 conformance level, and Db2 ODBC support level, and certain functions are deprecated.

Each of the following tables provides a list of functions that support a particular task. The tables indicate the level of Db2 ODBC support and and Microsoft ODBC 3.0 conformance level for each function.

The table contains the following values, by column:

ODBC 3.0 level
The values of this column have the following meanings:
No
Indicates that the function is not supported by ODBC 3.0.
Deprecated
Indicates that the function is supported but deprecated in ODBC 3.0.
Core
Indicates that the function is part of the ODBC 3.0 Core conformance level.
Level 1
Indicates that the function is part of the ODBC 3.0 Level 1 conformance level.
Level 2
Indicates that the function is part of the ODBC 3.0 Level 2 conformance level.
Db2 ODBC support
The values of this column have the following meanings:
No
Indicates that the function is not supported by Db2 ODBC.
Deprecated
Indicates that the function is supported but deprecated in Db2 ODBC.
Current
Indicates that the function is current for Db2 ODBC. A current function is supported by Db2 ODBC and is not deprecated by another Db2 ODBC function.

Connecting to a data source

Table 1. Functions for connecting to a data source
Function name ODBC 3.0 level Db2 ODBC support Purpose
SQLAllocConnect() Deprecated Deprecated Obtains a connection handle.
SQLAllocEnv() Deprecated Deprecated Obtains an environment handle. One environment handle is used for one or more connections.
SQLAllocHandle() Core Current Obtains a handle.
SQLBrowseConnect() Level 1 No Returns successive levels of connection attributes and valid attribute values. When a value is specified for each connection attribute, this function connects to the data source.
SQLConnect() Core Current Connects to a specific driver by data source name, user ID, and password.
SQLDriverConnect() Core Current

Connects to a specific driver with a connection string.

IBM® specific: This function is also extended with the additional IBM keywords that are supported in the ODBC.INI file in the Db2 for Linux®, UNIX, and Windows CLI environment. Within the Db2 for z/OS® ODBC environment, the ODBC.INI file has no equivalent.

SQLSetConnection() No Current Connects to a specific data source by connection string.

Obtaining information about a driver and data source

Table 2. Functions for obtaining information about a driver and data source
Function name ODBC 3.0 level Status in Db2 ODBC Purpose
SQLDataSources() Core Current Returns the list of available data sources.
SQLDrivers() Core No Returns the list of installed drivers and their attributes (ODBC 2.0). This function is implemented within the ODBC driver manager and is therefore not applicable within the Db2 for z/OS ODBC environment.
SQLGetFunctions() Core Current Returns supported driver functions.
SQLGetInfo() Core Current Returns information about a specific driver and data source.
SQLGetTypeInfo() Core Current Returns information about supported data types.

Setting and retrieving driver attributes

Table 3. Functions for setting and retrieving driver attributes
Function name ODBC 3.0 level Db2 ODBC support Purpose
SQLGetConnectAttr() Core Current Returns the value of a connection attribute.
SQLGetConnectOption() Deprecated Deprecated Returns the value of a connection attribute.
SQLGetEnvAttr() Core Current Returns the value of an environment attribute.
SQLGetStmtAttr() Core Current Returns the value of a statement attribute.
SQLGetStmtOption() Deprecated Deprecated Returns the value of a statement attribute.
SQLSetConnectAttr() Core Current Sets a connection attribute.
SQLSetConnectOption() Deprecated Deprecated Sets a connection attribute.
SQLSetEnvAttr() Core Current Sets an environment attribute.
SQLSetStmtAttr() Core Current Sets a statement attribute.
SQLSetStmtOption() Deprecated Deprecated Sets a statement attribute.

Setting and retrieving descriptor fields

Table 4. Functions for setting and retrieving descriptor fields
Function name ODBC 3.0 level Db2 ODBC support Purpose
SQLCopyDesc() Core No Copies descriptor fields.
SQLGetDescField() Core No Returns the value or current setting of a single descriptor field.
SQLGetDescRec() Core No Returns the values or current settings of multiple descriptor fields.
SQLSetDescField() Core No Sets the value or setting for a single descriptor field.
SQLSetDescRec() Core No Sets the values or settings for multiple descriptor fields.

Preparing SQL requests

Table 5. Functions for preparing SQL requests
Function name ODBC 3.0 level Db2 ODBC support Purpose
SQLAllocStmt() Deprecated Deprecated Allocates a statement handle.
SQLBindFileToParam() No Current Associates a parameter marker in an SQL statement with a file reference or an array of file references.
SQLBindParameter() Core Current Assigns storage for a parameter in an SQL statement (ODBC 2.0).
SQLGetCursorName() Core Current Returns the cursor name that is associated with a statement handle.
SQLParamOptions() Deprecated Current Specifies the use of multiple values for parameters. In ODBC 3.0, SQLSetStmtAttr() replaces this function.
SQLPrepare() Core Current Prepares an SQL statement for subsequent execution.
SQLSetCursorName() Core Current Specifies a cursor name.
SQLSetParam() Deprecated Deprecated Assigns storage for a parameter in an SQL statement (ODBC 2.0). In ODBC 3.0, SQLBindParameter() replaces this function.
SQLSetScrollOptions() Deprecated No Sets attributes that control cursor behavior. In ODBC 3.0, SQLGetInfo() and SQLSetStmtAttr() replace this function.

Submitting requests

Table 6. Functions for submitting requests
Function name ODBC 3.0 level Db2 ODBC support Purpose
SQLDescribeParam() 1 Core Current Returns the description for a specific input parameter in a statement.
SQLExecDirect() Core Current Executes a statement.
SQLExecute() Core Current Executes a prepared statement.
SQLNativeSql() Core Current Returns the text of an SQL statement as translated by the driver.
SQLNumParams() Core Current Returns the number of parameters in a statement.
SQLParamData() Core Current Used with SQLPutData(). Supplies parameter data at execution time. (Useful for long data values.)
SQLPutData() Core Current Sends part or all of a data value for a parameter. (This function is useful for long data values.)

Retrieving results and information about results

Table 7. Functions for retrieving results and information about results
Function name ODBC 3.0 level Db2 ODBC support Purpose
SQLBindCol() Core Current Assigns storage for a result column and specifies the data type.
SQLBindFileToCol() No Current Associates a LOB column in a result set to a file reference or an array of file references.
SQLBulkOperations() Level 1 Current Performs bulk inserts operations.
SQLColAttribute() Core Current Describes attributes of a column in the result set.
SQLColAttributes() Deprecated Deprecated Describes attributes of a column in the result set.
SQLDescribeCol() Core Current Describes a column in the result set.
SQLError() Deprecated Deprecated Returns additional error or status information.
SQLExtendedFetch() Deprecated Current Returns multiple result rows.
SQLFetch() Core Current Returns a result row.
SQLFetchScroll() Core Current Returns row sets that are specified by absolute or relative position.
SQLGetData() Core Current Returns part or all of one column of one row of a result set. (This function is useful for long data values.)
SQLGetDiagRec() Core Current Returns additional diagnostic information.
SQLGetSQLCA() No Current Returns the SQLCA that is associated with a statement handle.
SQLMoreResults() Level 1 Current Determines whether more result sets are available and, if so, initializes processing for the next result set.
SQLNumResultCols() Core Current Returns the number of columns in the result set.
SQLRowCount() Core Current Returns the number of rows that are affected by an insert, update, delete, or merge request.
SQLSetColAttributes() No Current Sets attributes of a column in the result set.
SQLSetPos() Level 1 Current Allows an application to refresh, update, delete, and insert rows in the rowset

Handling large objects

Table 8. Functions for handling large objects
Function name ODBC 3.0 level Db2 ODBC support Purpose
SQLGetLength() No Current Gets the length, in bytes, of a string that is referenced by a LOB locator.
SQLGetPosition() No Current Gets the position of a string within a source string that is referenced by a LOB locator.
SQLGetSubString() No Current Creates a new LOB locator that references a substring within a source string. (The source string is also represented by a LOB locator.)

Obtaining information from the catalog

Table 9. Functions for obtaining catalog information
Function name ODBC 3.0 level Db2 ODBC support Purpose
SQLColumnPrivileges() Level 2 Current Returns a list of columns and associated privileges for a table.
SQLColumns() Core Current Returns the list of column names in specified tables.
SQLForeignKeys() Level 2 Current Returns a list of column names that comprise foreign keys, if they exist, for a specified table.
SQLPrimaryKeys() Level 1 Current Returns the list of column names that comprise the primary key for a table.
SQLProcedureColumns() Level 1 Current Returns the list of input and output parameters, as well as the columns that make up the result set for the specified procedures.
SQLProcedures() Level 1 Current Returns the list of procedure names that are stored in a specific data source.
SQLSpecialColumns() Core Current Returns information about the optimal set of columns that uniquely identifies a row in a specified table, or identifies the columns that are automatically updated when any value in the row is updated by a transaction.
SQLStatistics() Core Current Returns statistics about a single table and the list of indexes that are associated with the table.
SQLTablePrivileges() Level 2 Current Returns a list of tables and the privileges that are associated with each table.
SQLTables() Core Current Returns the list of table names that are stored in a specific data source.

Terminating a statement

Table 10. Functions for terminating a statement
Function name ODBC 3.0 level Db2 ODBC support Purpose
SQLCancel() Core Current Cancels an SQL statement.
SQLCloseCursor() Core Current Closes a cursor that has been opened on a statement handle.
SQLEndTran() Core Current Commits or rolls back a transaction.
SQLFreeStmt() Core Current Ends statement processing, closes the associated cursor, discards pending results, and, optionally, frees all resources that are associated with the statement handle.
SQLTransact() Deprecated Deprecated Commits or rolls back a transaction.

Terminating a connection

Table 11. Functions for terminating a connection
Function name ODBC 3.0 level Db2 ODBC support Purpose
SQLDisconnect() Core Current Closes the connection.
SQLFreeConnect() Deprecated Deprecated Releases the connection handle.
SQLFreeEnv() Deprecated Deprecated Releases the environment handle.
SQLFreeHandle() Core Current Releases an environment, connection, statement, or descriptor handle.

ODBC 3.0 functions that are not supported by Db2 ODBC

The following ODBC 3.0 functions are not supported by Db2 ODBC:

  • SQLBrowseConnect().
  • SQLCopyDesc(). Db2 ODBC does not support descriptor fields.
  • SQLDrivers(). This function is implemented by the ODBC driver manager which does not apply to Db2 ODBC.
  • SQLGetDescField(). Db2 ODBC does not support descriptor fields.
  • SQLGetDescRec(). Db2 ODBC does not support descriptor fields.
  • SQLSetDescField(). Db2 ODBC does not support descriptor fields.
  • SQLSetDescRec(). Db2 ODBC does not support descriptor fields.
  • SQLSetScrollOptions(). This function is superseded by the following statement attributes:
    • SQL_ATTR_CURSOR_TYPE
    • SQL_ATTR_CONCURRENCY
    • SQL_KEYSET_SIZE
    • SQL_ATTR_ROWSET_SIZE