Contents|Index|Previous|Next

Level 2 Interface Conformance

The Level 2 interface conformance level includes the Level 1 interface conformance level functionality, plus the following features:

201
Use three-part names of database tables and views. (For more information, see two-part naming support feature 101 in “Level 1 Interface Conformance.”)
202
Describe dynamic parameters, by calling SQLDescribeParam.
203
Use not only input parameters, but also output and input/output parameters, and result values of stored procedures.
204
Use bookmarks, including retrieving bookmarks by calling SQLDescribeCol and SQLColAttribute on column number 0; fetching based on a bookmark by calling SQLFetchScroll with the FetchOrientation argument set to SQL_FETCH_BOOKMARK; and update, delete, and fetch by bookmark operations by calling SQLBulkOperations with the Operation argument set to SQL_UPDATE_BY_BOOKMARK, SQL_DELETE_BY_BOOKMARK, or SQL_FETCH_BY_BOOKMARK.
205
Retrieve advanced information on the data dictionary, by calling SQLColumnPrivileges, SQLForeignKeys, and SQLTablePrivileges.
206
Use ODBC functions instead of SQL statements to perform additional database operations, by calling SQLBulkOperations with SQL_ADD, or SQLSetPos with SQL_DELETE or SQL_UPDATE. (Support for calls to SQLSetPos with the LockType argument set to SQL_LOCK_EXCLUSIVE or SQL_LOCK_UNLOCK is not a part of the conformance levels, but is an optional feature.)
207
Enable asynchronous execution of ODBC functions for specified individual statements.
208
Obtain the SQL_ROWVER row-identifying column of tables, by calling SQLSpecialColumns. (For more information, see the support for SQLSpecialColumns with the IdentifierType argument set to SQL_BEST_ROWID as feature 20 in “Core Interface Conformance.”)
209
Set the SQL_ATTR_CONCURRENCY statement attribute to at least one value other than SQL_CONCUR_READ_ONLY.
210
The ability to time out login request and SQL queries (SQL_ATTR_LOGIN_TIMEOUT and SQL_ATTR_QUERY_TIMEOUT).
211
The ability to change the default isolation level; the ability to execute transactions with the “serializable” level of isolation.