C/C++ 我可以在 ODBC 2.x 应用程序中使用 ODBC 3.x 函数吗?

C/C++ Can I use ODBC 3.x functions in an ODBC 2.x application?

本文关键字:ODBC 函数 应用程序 我可以 C++      更新时间:2023-10-16

我有一个旧的ODBC应用程序,它是一个ODBC 2.x应用程序(使用ODBC 2.x函数)。当我连接到 ODBC 3.x 驱动程序时,它工作正常。但是现在,我想在我的应用程序中使用一些 ODBC 3.x 函数,例如 SQLBulkOperations

我的问题是,如果要在 ODBC 2.x 应用程序中调用 ODBC 3.x 函数,是否需要进行额外的更改?如果是,你能提供更多细节吗?

请注意,我使用的所有驱动程序都是 ODBC 3.x

我相信

你应该可以这样做,因为驱动程序管理器会照顾所有这些,并且已经将您的 ODBC 2 API 调用映射到驱动程序中的 ODBC 3 调用。

您可能需要调用 SQLSetEnvAttr 将 (SQL_ATTR_ODBC_VERSION) 版本设置为 3,但我不这么认为,您应该希望不要因为它会改变 1)日期、时间和时间戳 2) 的 ODBC 3.x 代码返回 ODBC 3.x SQLSTATE 代码。