SQLColAttributes, mappage
Lorsqu’une application appelle SQLColAttributes via un pilote ODBC 3.x, l’appel à SQLColAttributes est mappé à SQLColAttribute comme suit :
Remarque
Le préfixe utilisé dans les valeurs FieldIdentifier dans ODBC 3.x a été modifié à partir de celui utilisé dans ODBC 2.x. Le nouveau préfixe est « SQL_DESC » ; l’ancien préfixe était « SQL_COLUMN ».
Si l’application est une application ODBC 2.x , fDescType est SQL_COLUMN_TYPE et que le type retourné est un type DATETIME concis, le Gestionnaire de pilotes mappe les valeurs de retour pour les codes de date, d’heure et d’horodatage.
Si fDescType est SQL_COLUMN_NAME, SQL_COLUMN_NULLABLE ou SQL_COLUMN_COUNT, le Gestionnaire de pilotes appelle SQLColAttribute dans le pilote avec l’argument FieldIdentifier mappé à SQL_DESC_NAME, SQL_DESC_NULLABLE ou SQL_DESC_COUNT, comme il convient*.* Toutes les autres valeurs de fDescType sont transmises au pilote.
Un pilote ODBC 3.x doit prendre en charge tous les FieldIdentifiers ODBC 3.x répertoriés pour SQLColAttribute.
Un pilote ODBC 3.x doit prendre en charge SQL_COLUMN_PRECISION et SQL_DESC_PRECISION, SQL_COLUMN_SCALE et SQL_DESC_SCALE, et SQL_COLUMN_LENGTH et SQL_DESC_LENGTH. Ces valeurs sont différentes, car la précision, l’échelle et la longueur sont définies différemment dans ODBC 3.x que dans ODBC 2.x. Pour plus d’informations, consultez La taille des colonnes, les chiffres décimaux, la longueur des octets de transfert et la taille d’affichage dans l’annexe D : Types de données.