我们的 C++ 应用程序能够使用 OLEDB API(使用 , 等)从 SQL Server 获取排序规则相关的列元数据DBCOLUMN_COLLATINGSEQUENCE
,DBCOLUMN_TDSCOLLATION
但我需要使用 ODBC,因为我们的应用程序必须是跨平台的。我们使用 ODBC APISQLColAttribute
来读取行集元数据,但是这个 API 没有任何可以返回排序规则名称的标识符。
我尝试使用SQL_CA_SS_COLUMN_COLLATION
(defined in sqlncli.h
) 作为标识符,但SQLColAttribute
只返回“排序规则名称”作为排序规则。
我还尝试使用SQLGetStmtAttr
后跟SQLGetDescField
,使用相同的标识符,然后我得到了“排序规则名称”。
我已经搜索了所有 MSDN 的答案,但没有找到任何答案。我可以从中获取排序规则名称INFORMATION_SCHEMA.COLUMNS
,但这不适用于查询返回的计算列。
我正在寻找一种干净的方法来使用 ODBC 从结果集元数据中获取整理信息。有任何想法吗?