次の ODBC 2.x 関数は、ODBC 3.x 関数によって複製されています。 その結果、ODBC 2.x 関数は ODBC 3.x では非推奨となっています。 ODBC 3.x 関数は置換関数と呼ばれます。
アプリケーションが非推奨の ODBC 2.x 関数を使用していて、基になるドライバーが ODBC 3.x ドライバーである場合、ドライバー マネージャーは関数呼び出しを対応する置換関数にマップします。 このルールの唯一の例外は SQLExtendedFetch です。 (次の表の末尾にある脚注を参照してください)。これらのマッピングの詳細については、「付録 G: 下位互換性のためのドライバー ガイドライン」の「非推奨の関数 のマッピング」を参照してください。
アプリケーションが置換関数を使用し、基になるドライバーが ODBC 2.x ドライバーである場合、ドライバー マネージャーは関数呼び出しを対応する非推奨の関数にマップします。
| ODBC 2.x 関数 | ODBC 3.x 関数 |
|---|---|
| SQLAllocConnect | SQLAllocHandle |
| SQLAllocEnv | SQLAllocHandle |
| SQLAllocStmt | SQLAllocHandle |
| SQLColAttributes | SQLColAttribute |
| SQLError | SQLGetDiagRec |
| SQLExtendedFetch[1] | SQLFetchScroll |
| SQLFreeConnect | SQLFreeHandle |
| SQLFreeEnv | SQLFreeHandle |
| SQLGetConnectOption | SQLGetConnectAttr |
| SQLGetStmtOption | SQLGetStmtAttr |
| SQLParamOptions | SQLSetStmtAttr, SQLGetStmtAttr |
| SQLSetConnectOption | SQLSetConnectAttr |
| SQLSetParam | SQLBindParameter |
| SQLSetStmtOption | SQLSetStmtAttr |
| SQLTransact | SQLEndTran |
[1] 関数 SQLExtendedFetch は重複する機能です。 SQLFetchScroll は ODBC 3.x でも同じ機能を提供します。 ただし、ODBC 3.x ドライバーに対する場合、ドライバー マネージャーは SQLExtendedFetch を SQLFetchScroll にマップしません。 詳細については、「付録G:下位互換性のためのドライバ・ガイドライン」の「ドライバーマネージャーが行うこと」を参照してください。 ドライバー マネージャーは、ODBC 2.x ドライバーに対して行うときに SQLFetchScroll を SQLExtendedFetch にマップします。
Note
SQLBindParam関数は特殊なケースです。 SQLBindParam は重複した機能です。 これは ODBC 2.x 関数ではなく、Open Group および ISO 標準に存在する関数です。 この関数によって提供される機能は、SQLBindParameter の機能によって完全にサブ集計されます。 その結果、基になるドライバーが ODBC 3.x ドライバーである場合、ドライバー マネージャーは SQLBindParam への呼び出しを SQLBindParameter にマップします。 ただし、基になるドライバーが ODBC 2.x ドライバーの場合、ドライバー マネージャーはこのマッピングを実行しません。