Nota
O acesso a esta página requer autorização. Podes tentar iniciar sessão ou mudar de diretório.
O acesso a esta página requer autorização. Podes tentar mudar de diretório.
No ODBC 3.x, os identificadores para os tipos de dados SQL data, hora e carimbo temporal mudaram de SQL_DATE, SQL_TIME e SQL_TIMESTAMP (com instâncias de #define no ficheiro de cabeçalho 9, 10 e 11) para SQL_TYPE_DATE, SQL_TYPE_TIME e SQL_TYPE_TIMESTAMP (com instâncias de #define no ficheiro de cabeçalho 91, 92 e 93), respetivamente. Os identificadores correspondentes do tipo C mudaram de SQL_C_DATE, SQL_C_TIME e SQL_C_TIMESTAMP para SQL_C_TYPE_DATE, SQL_C_TYPE_TIME e SQL_C_TYPE_TIMESTAMP, respetivamente.
O tamanho da coluna e os dígitos decimais retornados para os tipos de dados de data e hora SQL no ODBC 3.x são iguais à precisão e escala retornadas para eles no ODBC 2.x. Estes valores são diferentes dos valores nos campos descritivos SQL_DESC_PRECISION e SQL_DESC_SCALE. (Para mais informações, veja Tamanho da Coluna, Dígitos Decimais, Comprimento do Octeto de Transferência e Tamanho do Ecrã.)
Estas alterações afetam SQLDescribeCol, SQLDescribeParam e SQLColAttribute; SQLBindCol, SQLBindParameter e SQLGetData; e SQLColumns, SQLGetTypeInfo, SQLProcedureColumns, SQLStatistics e SQLSpecialColumns.
A tabela seguinte mostra como o ODBC 3.x Driver Manager realiza o mapeamento dos tipos de dados C de data, hora e carimbo de data/hora introduzidos nos argumentos TargetType do SQLBindCol e SQLGetData ou no argumento ValueType do SQLBindParameter.
| Tipo de dados Código introduzido |
2.x aplicação para Driver 2.x |
2.x aplicação para Driver 3.x |
3.x aplicação para Driver 2.x |
3.x aplicação para Driver 3.x |
|---|---|---|---|---|
| SQL_C_DATE (9) | Sem mapeamento | SQL_C_TYPE_DATE (91) | Sem mapeamento[1] | SQL_C_TYPE_DATE (91) |
| SQL_C_TYPE_DATE (91) | Erro (da Mensagem Direta) | Erro (do DM) | SQL_C_DATE (9) | Sem mapeamento[2] |
| SQL_C_TIME (10) | Sem mapeamento | SQL_C_TYPE_TIME (92) | Sem mapeamento[1] | SQL_C_TYPE_TIME (92) |
| SQL_C_TYPE_TIME (92) | Erro (do DM) | Erro (do DM) | SQL_C_TIME (10) | Sem mapeamento[2] |
| SQL_C_TIMESTAMP (11) | Sem mapeamento | SQL_C_TYPE_TIMESTAMP (93) | Sem mapeamento[1] | SQL_C_TYPE_TIMESTAMP (93) |
| SQL_C_TYPE_TIMESTAMP (93) | Erro (do DM) | Erro (do DM) | SQL_C_TIMESTAMP (11) | Sem mapeamento[2] |
[1] Como resultado disto, uma aplicação ODBC 3.x a trabalhar com um driver ODBC 2.x pode usar os códigos de data, hora ou carimbo temporal devolvidos nos conjuntos de resultados que são devolvidos pelas funções do catálogo.
[2] Como resultado disto, uma aplicação ODBC 3.x a trabalhar com um driver ODBC 3.x pode usar os códigos de data, hora ou carimbo temporal devolvidos nos conjuntos de resultados que são devolvidos pelas funções do catálogo.
A tabela seguinte mostra como o ODBC 3.x Driver Manager realiza o mapeamento dos tipos de dados SQL de data, hora e hora introduzidos no argumento ParameterType do SQLBindParameter ou no argumento DataType do SQLGetTypeInfo.
| Tipo de dados Código introduzido |
2.x aplicação para Driver 2.x |
2.x aplicação para Driver 3.x |
3.x aplicação para Driver 2.x |
3.x aplicação para Driver 3.x |
|---|---|---|---|---|
| SQL_DATE (9) | Sem mapeamento | SQL_TYPE_DATE (91) | Sem mapeamento[1] | SQL_TYPE_DATE (91) |
| SQL_TYPE_DATE (91) | Erro (do DM) | Erro (do DM) | SQL_DATE (9) | Sem mapeamento[2] |
| SQL_TIME (10) | Sem mapeamento | SQL_TYPE_TIME (92) | Sem mapeamento[1] | SQL_TYPE_TIME (92) |
| SQL_TYPE_TIME (92) | Erro (do DM) | Erro (do DM) | SQL_TIME (10) | Sem mapeamento[2] |
| SQL_TIMESTAMP (11) | Sem mapeamento | SQL_TYPE_TIMESTAMP (93) | Sem mapeamento[1] | SQL_TYPE_TIMESTAMP (93) |
| SQL_TYPE_TIMESTAMP (93) | Erro (do DM) | Erro (do DM) | SQL_TIMESTAMP (11) | Sem mapeamento[2] |
[1] Como resultado disto, uma aplicação ODBC 3.x a trabalhar com um driver ODBC 2.x pode usar os códigos de data, hora ou carimbo temporal devolvidos nos conjuntos de resultados que são devolvidos pelas funções do catálogo.
[2] Como resultado disto, uma aplicação ODBC 3.x a trabalhar com um driver ODBC 3.x pode usar os códigos de data, hora ou carimbo temporal devolvidos nos conjuntos de resultados que são devolvidos pelas funções do catálogo.