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