Partager via


Changements dans le type de données datetime

Dans ODBC 3.x, les identificateurs des types de données SQL date, heure et horodatage ont changé de SQL_DATE, de SQL_TIME et de SQL_TIMESTAMP (avec des instances de #define dans le fichier d’en-tête de 9, 10 et 11) à SQL_TYPE_DATE, SQL_TYPE_TIME et SQL_TYPE_TIMESTAMP (avec des instances de #define dans le fichier d’en-tête de 91, 92 et 93), respectivement. Les identificateurs de type C correspondants ont changé de SQL_C_DATE, de SQL_C_TIME et de SQL_C_TIMESTAMP à SQL_C_TYPE_DATE, SQL_C_TYPE_TIME et SQL_C_TYPE_TIMESTAMP, respectivement.

La taille de colonne et les chiffres décimaux retournés pour les types de données datetime SQL dans ODBC 3.x sont identiques à la précision et à l’échelle retournées pour elles dans ODBC 2.x. Ces valeurs sont différentes des valeurs des champs SQL_DESC_PRECISION et SQL_DESC_SCALE descripteur. (Pour plus d’informations, consultez Taille de colonne, chiffres décimaux, longueur du transfert d’octets et taille d’affichage.)

Ces modifications affectent SQLDescribeCol, SQLDescribeParam et SQLColAttribute ; SQLBindCol, SQLBindParameter et SQLGetData ; et SQLColumns, SQLGetTypeInfo, SQLProcedureColumns, SQLStatistics et SQLSpecialColumns.

Le tableau suivant montre comment ODBC 3.x Driver Manager effectue le mappage des types de données C date, heure et timestamp C entrés dans les arguments TargetType de SQLBindCol et SQLGetData ou dans l’argument ValueType de SQLBindParameter.

Type de données

code entré
Application 2.x vers

Pilote 2.x
Application 2.x vers

Pilote 3.x
Application 3.x vers

Pilote 2.x
Application 3.x vers

Pilote 3.x
SQL_C_DATE (9) Aucune mise en correspondance SQL_C_TYPE_DATE (91) Aucun mappage[1] SQL_C_TYPE_DATE (91)
SQL_C_TYPE_DATE (91) Erreur (à partir de DM) Erreur (à partir de DM) SQL_C_DATE (9) Aucun mappage[2]
SQL_C_TIME (10) Aucune mise en correspondance SQL_C_TYPE_TIME (92) Aucun mappage[1] SQL_C_TYPE_TIME (92)
SQL_C_TYPE_TIME (92) Erreur (à partir de DM) Erreur (à partir de DM) SQL_C_TIME (10) Aucun mappage[2]
SQL_C_TIMESTAMP (11) Aucune mise en correspondance SQL_C_TYPE_TIMESTAMP (93) Aucun mappage[1] SQL_C_TYPE_TIMESTAMP (93)
SQL_C_TYPE_TIMESTAMP (93) Erreur (à partir de DM) Erreur (à partir de DM) SQL_C_TIMESTAMP (11) Aucun mappage[2]

[1] En conséquence de cela, une application ODBC 3.x fonctionnant avec un pilote ODBC 2.x peut utiliser les codes de date, d’heure ou d’horodatage retournés dans les jeux de résultats retournés par les fonctions de catalogue.

[2] Par conséquent, une application ODBC 3.x fonctionnant avec un pilote ODBC 3.x peut utiliser les codes de date, d’heure ou d’horodatage retournés dans les jeux de résultats retournés par les fonctions de catalogue.

Le tableau suivant montre comment ODBC 3.x Driver Manager effectue le mappage des types de données SQL date, heure et timestamp SQL entrés dans l’argument ParameterType de SQLBindParameter ou dans l’argument DataType de SQLGetTypeInfo.

Type de données

code entré
Application 2.x vers

Pilote 2.x
Application 2.x vers

Pilote 3.x
Application 3.x vers

Pilote 2.x
Application 3.x vers

Pilote 3.x
SQL_DATE (9) Aucune mise en correspondance SQL_TYPE_DATE (91) Aucun mappage[1] SQL_TYPE_DATE (91)
SQL_TYPE_DATE (91) Erreur (à partir de DM) Erreur (à partir de DM) SQL_DATE (9) Aucun mappage[2]
SQL_TIME (10) Aucune mise en correspondance SQL_TYPE_TIME (92) Aucun mappage[1] SQL_TYPE_TIME (92)
SQL_TYPE_TIME (92) Erreur (à partir de DM) Erreur (à partir de DM) SQL_TIME (10) Aucun mappage[2]
SQL_TIMESTAMP (11) Aucune mise en correspondance SQL_TYPE_TIMESTAMP (93) Aucun mappage[1] SQL_TYPE_TIMESTAMP (93)
SQL_TYPE_TIMESTAMP (93) Erreur (à partir de DM) Erreur (à partir de DM) SQL_TIMESTAMP (11) Aucun mappage[2]

[1] En conséquence de cela, une application ODBC 3.x fonctionnant avec un pilote ODBC 2.x peut utiliser les codes de date, d’heure ou d’horodatage retournés dans les jeux de résultats retournés par les fonctions de catalogue.

[2] Par conséquent, une application ODBC 3.x fonctionnant avec un pilote ODBC 3.x peut utiliser les codes de date, d’heure ou d’horodatage retournés dans les jeux de résultats retournés par les fonctions de catalogue.