如何使用 SQL 服务器的 ODBC 驱动程序 13 处理文本列

How to handle text columns with ODBC Driver 13 for SQL Server

以前我们一直在使用带有 Adaptive Server Enterprise 驱动程序的 sybase。 目前我们正在切换到 MSSQL,然后将为 SQL Server.

使用 ODBC Driver 13

当在索引为 i 的未绑定列上调用 SQLGetData 而最高绑定列的索引为 i+n.根据 SQLGetData doc

这是有道理的

另一方面,对我来说没有意义的是类型 81(SQL_GETDATA_EXTENSIONS) return 的 SQLGetInfo 对于两个驱动程序都是空字符串。我希望 sybase 一个 return 表示它具有 属性 SQL_GD_ANY_COLUMN

我的问题是: 有没有办法为 SQL Server 提供 ODBC Driver 13 SQL_GD_ANY_COLUMN 属性? 如果不是,那么应该如何处理不同长度的文本列(不应该将它们与 SQLBind 绑定?)?

我对此很陌生,所以任何见解都表示赞赏:)

您无法更改驾驶员行为。我建议您针对 text/varchar(max) 列

重复调用 SQLGetData ODBC 函数