Annexe D : Types de données

ODBC définit deux ensembles de types de données : les types de données SQL et les types de données C. Les types de données SQL indiquent le type de données stockées dans la source de données. Les types de données C indiquent le type de données stockées dans les mémoires tampons d’application.

Les types de données SQL sont définis par chaque SGBD conformément à la norme SQL-92. Pour chaque type de données SQL spécifié dans la norme SQL-92, ODBC définit un identificateur de type, qui est une valeur #define passée en tant qu’argument dans les fonctions ODBC ou retournée dans les métadonnées d’un jeu de résultats. Les seuls types de données SQL-92 non pris en charge par ODBC sont BIT (le type de SQL_BIT ODBC présente des caractéristiques différentes), BIT_VARYING, TIME_WITH_TIMEZONE, TIMESTAMP_WITH_TIMEZONE et NATIONAL_CHARACTER. Les pilotes sont responsables du mappage des types de données SQL spécifiques aux sources de données aux identificateurs de type de données SQL ODBC et aux identificateurs de type de données SQL spécifiques aux pilotes. Le type de données SQL est spécifié dans le champ SQL_DESC_CONCISE_TYPE d’un descripteur d’implémentation.

ODBC définit les types de données C et leurs identificateurs de type ODBC correspondants. Une application spécifie le type de données C de la mémoire tampon qui recevra les données du jeu de résultats en transmettant l’identificateur de type C approprié dans l’argument TargetType dans un appel à SQLBindCol ou SQLGetData. Il spécifie le type C de la mémoire tampon contenant un paramètre d’instruction en passant l’identificateur de type C approprié dans l’argument ValueType dans un appel à SQLBindParameter. Le type de données C est spécifié dans le champ SQL_DESC_CONCISE_TYPE d’un descripteur d’application.

Notes

Il n’existe aucun type de données C spécifique au pilote.

Chaque type de données SQL correspond à un type de données ODBC C. Avant de retourner des données à partir de la source de données, le pilote les convertit en type de données C spécifié. Avant d’envoyer des données à la source de données, le pilote les convertit à partir du type de données C spécifié.

Cette annexe contient les rubriques suivantes.

Pour obtenir une explication des types de données ODBC, consultez Types de données dans ODBC. Pour plus d’informations sur les types de données SQL spécifiques aux pilotes, consultez la documentation du pilote.