Modifiche ai tipi di dati datetime
In ODBC 3.x gli identificatori per i tipi di dati SQL data, ora e timestamp sono stati modificati da SQL_DATE, SQL_TIME e SQL_TIMESTAMP (con istanze di #define nel file di intestazione di 9, 10 e 11) rispettivamente a SQL_TYPE_DATE, SQL_TYPE_TIME e SQL_TYPE_TIMESTAMP (con istanze di #define nel file di intestazione di 91, 92 e 93). Gli identificatori di tipo C corrispondenti sono stati modificati rispettivamente da SQL_C_DATE, SQL_C_TIME e SQL_C_TIMESTAMP a SQL_C_TYPE_DATE, SQL_C_TYPE_TIME e SQL_C_TYPE_TIMESTAMP.
Le dimensioni delle colonne e le cifre decimali restituite per i tipi di dati datetime SQL in ODBC 3.x corrispondono alla precisione e alla scala restituite per tali dati in ODBC 2.x. Questi valori sono diversi dai valori dei campi descrittori SQL_DESC_PRECISION e SQL_DESC_SCALE. Per maggiori informazioni, vedere Dimensione colonna, cifre decimali, lunghezza trasferimento in ottetti e dimensioni visualizzazione.
Queste modifiche riguardano SQLDescribeCol, SQLDescribeParam e SQLColAttribute; SQLBindCol, SQLBindParameter e SQLGetData; SQLColumns, SQLGetTypeInfo, SQLProcedureColumns, SQLStatistics e SQLSpecialColumns.
Nella tabella seguente viene illustrato il modo in cui Gestione driver ODBC 3.x esegue il mapping dei tipi di dati C data, ora e timestamp immessi negli argomenti TargetType di SQLBindCol e SQLGetData o nell'argomento ValueType di SQLBindParameter.
Tipo di dati codice immesso |
Da app 2.x a Driver 2.x |
Da app 2.x a Driver 3.x |
Da app 3.x a Driver 2.x |
Da app 3.x a Driver 3.x |
---|---|---|---|---|
SQL_C_DATE (9) | Nessun mapping | SQL_C_TYPE_DATE (91) | Nessun mapping[1] | SQL_C_TYPE_DATE (91) |
SQL_C_TYPE_DATE (91) | Errore (da DM) | Errore (da DM) | SQL_C_DATE (9) | Nessun mapping[2] |
SQL_C_TIME (10) | Nessun mapping | SQL_C_TYPE_TIME (92) | Nessun mapping[1] | SQL_C_TYPE_TIME (92) |
SQL_C_TYPE_TIME (92) | Errore (da DM) | Errore (da DM) | SQL_C_TIME (10) | Nessun mapping[2] |
SQL_C_TIMESTAMP (11) | Nessun mapping | SQL_C_TYPE_TIMESTAMP (93) | Nessun mapping[1] | SQL_C_TYPE_TIMESTAMP (93) |
SQL_C_TYPE_TIMESTAMP (93) | Errore (da DM) | Errore (da DM) | SQL_C_TIMESTAMP (11) | Nessun mapping[2] |
[1] Di conseguenza, un'applicazione ODBC 3.x che utilizza un driver ODBC 2.x può usare i codici data, ora o timestamp restituiti nei set di risultati restituiti dalle funzioni catalogo.
[2] Di conseguenza, un'applicazione ODBC 3.x che utilizza un driver ODBC 3.x può usare i codici data, ora o timestamp restituiti nei set di risultati restituiti dalle funzioni catalogo.
Nella tabella seguente viene illustrato il modo in cui Gestione driver ODBC 3.x esegue il mapping dei tipi di dati C data, ora e timestamp immessi nell’argomento ParameterType di SQLBindParameter o nell’argomento DataType di SQLGetTypeInfo.
Tipo di dati codice immesso |
Da app 2.x a Driver 2.x |
Da app 2.x a Driver 3.x |
Da app 3.x a Driver 2.x |
Da app 3.x a Driver 3.x |
---|---|---|---|---|
SQL_DATE (9) | Nessun mapping | SQL_TYPE_DATE (91) | Nessun mapping[1] | SQL_TYPE_DATE (91) |
SQL_TYPE_DATE (91) | Errore (da DM) | Errore (da DM) | SQL_DATE (9) | Nessun mapping[2] |
SQL_TIME (10) | Nessun mapping | SQL_TYPE_TIME (92) | Nessun mapping[1] | SQL_TYPE_TIME (92) |
SQL_TYPE_TIME (92) | Errore (da DM) | Errore (da DM) | SQL_TIME (10) | Nessun mapping[2] |
SQL_TIMESTAMP (11) | Nessun mapping | SQL_TYPE_TIMESTAMP (93) | Nessun mapping[1] | SQL_TYPE_TIMESTAMP (93) |
SQL_TYPE_TIMESTAMP (93) | Errore (da DM) | Errore (da DM) | SQL_TIMESTAMP (11) | Nessun mapping[2] |
[1] Di conseguenza, un'applicazione ODBC 3.x che utilizza un driver ODBC 2.x può usare i codici data, ora o timestamp restituiti nei set di risultati restituiti dalle funzioni catalogo.
[2] Di conseguenza, un'applicazione ODBC 3.x che utilizza un driver ODBC 3.x può usare i codici data, ora o timestamp restituiti nei set di risultati restituiti dalle funzioni catalogo.