重复的功能

ODBC 3.x 函数复制了以下 ODBC 2.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 SQLSetStmtAttrSQLGetStmtAttr
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

注意

函数 SQLBindParam 是一种特殊情况。 SQLBindParam 是重复的功能。 这不是 ODBC 2.x 函数,而是存在于 Open Group 和 ISO 标准中的函数。 此函数提供的功能完全由 SQLBindParameter 的函数计算子集总和。 因此,当基础驱动程序是 ODBC 3.x 驱动程序时,驱动程序管理器会将对 SQLBindParam 的调用映射到 SQLBindParameter。 但是,当基础驱动程序是 ODBC 2.x 驱动程序时,驱动程序管理器不会执行此映射。