Kommentar
Åtkomst till den här sidan kräver auktorisering. Du kan prova att logga in eller ändra kataloger.
Åtkomst till den här sidan kräver auktorisering. Du kan prova att ändra kataloger.
I ODBC 3.x har identifierarna för SQL-datatyperna datum, tid och tidsstämpel ändrats från SQL_DATE, SQL_TIME och SQL_TIMESTAMP (med instanser av #define i huvudfilen 9, 10 och 11) till SQL_TYPE_DATE, SQL_TYPE_TIME och SQL_TYPE_TIMESTAMP (med instanser av #define i rubrikfilen 91, 92 respektive 93). Motsvarande C-typidentifierare har ändrats från SQL_C_DATE, SQL_C_TIME och SQL_C_TIMESTAMP till SQL_C_TYPE_DATE, SQL_C_TYPE_TIME respektive SQL_C_TYPE_TIMESTAMP.
Kolumnstorleken och decimalsiffrorna som returneras för SQL Datetime-datatyperna i ODBC 3.x är samma som precisionen och skalan som returneras för dem i ODBC 2.x. Dessa värden skiljer sig från värdena i fälten SQL_DESC_PRECISION och SQL_DESC_SCALE descriptor. (Mer information finns i Kolumnstorlek, Decimalsiffror, Överför oktettlängd och Visningsstorlek.)
Dessa ändringar påverkar SQLDescribeCol, SQLDescribeParam och SQLColAttribute. SQLBindCol, SQLBindParameter och SQLGetData; och SQLColumns, SQLGetTypeInfo, SQLProcedureColumns, SQLStatistics och SQLSpecialColumns.
Följande tabell visar hur ODBC 3.x Driver Manager utför mappning av datatyperna date, time och timestamp C som anges i TargetType-argumenten för SQLBindCol och SQLGetData eller i argumentet ValueType för SQLBindParameter.
| Datatyp angiven kod |
2.x app för 2.x-drivrutin |
2.x app för 3.x drivrutin |
3.x app för 2.x-drivrutin |
3.x app till 3.x-drivrutin |
|---|---|---|---|---|
| SQL_C_DATE (9) | Ingen mappning | SQL_C_TYPE_DATE (91) | Ingen mappning[1] | SQL_C_TYPE_DATE (91) |
| SQL_C_TYPE_DATE (91) | Fel (från DM) | Fel (från DM) | SQL_C_DATE (9) | Ingen mappning[2] |
| SQL_C_TIME (10) | Ingen mappning | SQL_C_TYPE_TIME (92) | Ingen mappning[1] | SQL_C_TYPE_TIME (92) |
| SQL_C_TYPE_TIME (92) | Fel (från DM) | Fel (från DM) | SQL_C_TIME (10) | Ingen mappning[2] |
| SQL_C_TIMESTAMP (11) | Ingen mappning | SQL_C_TYPE_TIMESTAMP (93) | Ingen mappning[1] | SQL_C_TYPE_TIMESTAMP (93) |
| SQL_C_TYPE_TIMESTAMP (93) | Fel (från DM) | Fel (från DM) | SQL_C_TIMESTAMP (11) | Ingen mappning[2] |
[1] Därför kan ett ODBC 3.x-program som arbetar med en ODBC 2.x-drivrutin använda datum-, tids- eller tidsstämpelkoderna som returneras i resultatuppsättningarna som returneras av katalogfunktionerna.
[2] Därför kan ett ODBC 3.x-program som arbetar med en ODBC 3.x-drivrutin använda datum-, tids- eller tidsstämpelkoderna som returneras i resultatuppsättningarna som returneras av katalogfunktionerna.
Följande tabell visar hur ODBC 3.x Driver Manager utför mappning av sql-datatyperna datum, tid och tidsstämpel som angetts i ParameterType-argumentetför SQLBindParameter eller i argumentet DataType i SQLGetTypeInfo.
| Datatyp angiven kod |
2.x app för 2.x-drivrutin |
2.x-version av appen 3.x-drivrutin |
3.x app för 2.x-drivrutin |
3.x applikation till 3.x-drivrutin |
|---|---|---|---|---|
| SQL_DATE (9) | Ingen mappning | SQL_TYPE_DATE (91) | Ingen mappning[1] | SQL_TYPE_DATE (91) |
| SQL_TYPE_DATE (91) | Fel (från DM) | Fel (från DM) | SQL_DATE (9) | Ingen mappning[2] |
| SQL_TIME (10) | Ingen mappning | SQL_TYPE_TIME (92) | Ingen mappning[1] | SQL_TYPE_TIME (92) |
| SQL_TYPE_TIME (92) | Fel (från DM) | Fel (från DM) | SQL_TIME (10) | Ingen mappning[2] |
| SQL_TIMESTAMP (11) | Ingen mappning | SQL_TYPE_TIMESTAMP (93) | Ingen mappning[1] | SQL_TYPE_TIMESTAMP (93) |
| SQL_TYPE_TIMESTAMP (93) | Fel (från DM) | Fel (från DM) | SQL_TIMESTAMP (11) | Ingen mappning[2] |
[1] Därför kan ett ODBC 3.x-program som arbetar med en ODBC 2.x-drivrutin använda datum-, tids- eller tidsstämpelkoderna som returneras i resultatuppsättningarna som returneras av katalogfunktionerna.
[2] Därför kan ett ODBC 3.x-program som arbetar med en ODBC 3.x-drivrutin använda datum-, tids- eller tidsstämpelkoderna som returneras i resultatuppsättningarna som returneras av katalogfunktionerna.