Share via


Apêndice D: Tipos de dados

O ODBC define dois conjuntos de tipos de dados: tipos de dados SQL e tipos de dados C. Os tipos de dados SQL indicam o tipo de dados armazenados na fonte de dados. Os tipos de dados C indicam o tipo de dados armazenados em buffers de aplicativo.

Os tipos de dados SQL são definidos por cada DBMS de acordo com o padrão SQL-92. Para cada tipo de dados SQL especificado no padrão SQL-92, o ODBC define um identificador de tipo, que é um valor #define que é passado como um argumento em funções ODBC ou retornado nos metadados de um conjunto de resultados. Os únicos tipos de dados SQL-92 sem suporte do ODBC são BIT (o tipo de SQL_BIT ODBC tem características diferentes), BIT_VARYING, TIME_WITH_TIMEZONE, TIMESTAMP_WITH_TIMEZONE e NATIONAL_CHARACTER. Os drivers são responsáveis por mapear tipos de dados SQL específicos da fonte de dados para identificadores de tipo de dados SQL do ODBC e identificadores de tipo de dados SQL específicos do driver. O tipo de dados SQL é especificado no campo SQL_DESC_CONCISE_TYPE de um descritor de implementação.

O ODBC define os tipos de dados C e seus identificadores de tipo ODBC correspondentes. Um aplicativo especifica o tipo de dados C do buffer que receberá dados do conjunto de resultados passando o identificador de tipo C apropriado no argumento TargetType em uma chamada para SQLBindCol ou SQLGetData. Ele especifica o tipo C do buffer que contém um parâmetro de instrução passando o identificador de tipo C apropriado no argumento ValueType em uma chamada para SQLBindParameter. O tipo de dados C é especificado no campo SQL_DESC_CONCISE_TYPE de um descritor de aplicativo.

Observação

Não há tipos de dados C específicos do driver.

Cada tipo de dados SQL corresponde a um tipo de dados ODBC C. Antes de retornar dados da fonte de dados, o driver os converte no tipo de dados C especificado. Antes de enviar dados para a fonte de dados, o driver os converte do tipo de dados C especificado.

Esse apêndice contém os tópicos a seguir.

Para obter uma explicação dos tipos de dados ODBC, consulte Tipos de dados no ODBC. Para informações sobre tipos de dados SQL específicos do driver, confira a documentação do driver.