用于SQL Server的ODBC驱动程序11和SQLGetData限制

时间:2016-01-29 20:39:19

标签: sql-server odbc

SQLGetData Function参考解释了API的以下一般限制:

  

如果驱动程序不支持SQLGetData的扩展,则该函数   只能为数字大于的未绑定列返回数据   最后一个绑定列的那个。此外,在一行数据中,   每次调用SQLGetData时,Col_or_Param_Num参数的值必须为   大于或等于中的Col_or_Param_Num的值   以前的电话;也就是说,必须在增加列中检索数据   数字顺序。

SQLGetData上的ODBC API implementation details article添加了特定于SQL Server Native Client驱动程序的信息:

  

SQL Server Native Client ODBC驱动程序不支持使用   SQLGetData以随机列顺序检索数据。全部未绑定   使用SQLGetData处理的列必须具有更高的列序数   而不是结果集中的绑定列。

此列排序限制是否适用于新的和推荐的 SQL Server的Microsoft ODBC驱动程序

当前这种行为有什么不同 用于SQL Server版本的ODBC驱动程序11和即将发布的SQL Server ODBC驱动程序13(预览版)?

1 个答案:

答案 0 :(得分:2)

您可以通过调用SQLGetInfo ODBC函数来测试代码中的驱动程序可用性。

用于SQL Server的ODBC驱动程序13 将返回以下内容:

SQL_GETDATA_EXTENSIONS:
        SQL_GD_ANY_COLUMN false
        SQL_GD_ANY_ORDER false