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,驱动程序管理器将使用映射到 SQL_DESC_NAME、SQL_DESC_NULLABLE 或 SQL_DESC_COUNT 的 FieldIdentifier 参数在驱动程序中调用 SQLColAttribute,如适当*.* fDescType 的所有其他值将传递给驱动程序。

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

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:数据类型中的列大小、小数位数、传输八进制数长度和显示大小