Comprimento do octeto de transferência

O comprimento do octeto de transferência de uma coluna é o número máximo de bytes retornados ao aplicativo quando os dados são transferidos para seu tipo de dados C padrão. Para dados de caractere, o comprimento do octeto de transferência não inclui espaço para o caractere de terminação nula. O comprimento do octeto de transferência de uma coluna pode ser diferente do número de bytes necessários para armazenar os dados na fonte de dados.

O comprimento do octeto de transferência definido para cada tipo de dados SQL ODBC é mostrado na tabela a seguir.

Identificador de tipo SQL Comprimento
Todos os tipos de caractere[a] O comprimento definido ou máximo (para tipo de variável) da coluna em bytes. Esse é o mesmo valor que o campo descritor SQL_DESC_OCTET_LENGTH.
SQL_DECIMAL
SQL_NUMERIC
O número de bytes necessários para manter a representação de caracteres desses dados se o conjunto de caracteres for ANSI e o dobro desse número se o conjunto de caracteres for UNICODE. Esse é o número máximo de dígitos mais dois, pois os dados são retornados como uma cadeia de caracteres e os caracteres são necessários para os dígitos, um sinal e um ponto decimal. Por exemplo, o comprimento de transferência de uma coluna definida como NUMERIC(10,3) é 12.
SQL_TINYINT 1
SQL_SMALLINT 2
SQL_INTEGER 4
SQL_BIGINT 8
SQL_REAL 4
SQL_FLOAT 8
SQL_DOUBLE 8
SQL_BIT 1
Todos os tipos binários[a] O número de bytes necessários para manter o número de caracteres definido (para tipos fixos) ou máximo (para tipos de variáveis).
SQL_TYPE_DATE
SQL_TYPE_TIME
6 (o tamanho da estrutura SQL_DATE_STRUCT ou SQL_TIME_STRUCT).
SQL_TYPE_TIMESTAMP 16 (o tamanho da estrutura SQL_TIMESTAMP_STRUCT).
Todos os tipos de dados de intervalo 34 (o tamanho da estrutura de intervalo).
SQL_GUID 16 (o tamanho da estrutura GUID).

[a] Se o driver não puder determinar o comprimento da coluna ou do parâmetro para tipos de variáveis, ele retornará SQL_NO_TOTAL.