SQLColAttributes 映射

当应用程序通过 ODBC 3.x 驱动程序调用 SQLColAttributes 时,对 SQLColAttributes 的调用将映射到 SQLColAttribute,如下所示:

注意

ODBC 3.x中 FieldIdentifier 值中使用的前缀已更改为 ODBC 2.x 中使用的前缀。 新前缀为"SQL_DESC";旧前缀为"SQL_COLUMN"。

  1. 如果应用程序是 ODBC 2.x 应用程序, fDescType 为 SQL_COLUMN_TYPE,返回的类型是简洁的 DATETIME 类型,驱动程序管理器将映射日期、时间和时间戳代码的返回值。

  2. 如果 fDescType 为 SQL_COLUMN_NAME、SQL_COLUMN_NULLABLE 或 SQL_COLUMN_COUNT,驱动程序管理器将调用驱动程序中的 SQLColAttribute ,并在适当时将 FieldIdentifier 参数映射到 SQL_DESC_NAME、SQL_DESC_NULLABLE 或 SQL_DESC_COUNT*。* fDescType 的所有其他值将传递到驱动程序。

ODBC 3.x 驱动程序必须支持为 SQLColAttribute 列出的所有 ODBC 3.xFieldIdentifier。

ODBC 3.x 驱动程序必须支持 SQL_COLUMN_PRECISION SQL_DESC_PRECISION、SQL_COLUMN_SCALE 和 SQL_DESC_SCALE 以及 SQL_COLUMN_LENGTH SQL_DESC_LENGTH。 这些值不同,因为 ODBC 3.x 中对精度、小数位和长度的定义与在 ODBC 2.x 中的定义不同。 有关详细信息,请参阅附录 D:数据类型中的列大小、十进制数字、传输 八进制 长度和显示大小。