Lunghezza dell'ottetto di trasferimento

La lunghezza dell'ottetto di trasferimento di una colonna è il numero massimo di byte restituiti all'applicazione quando i dati vengono trasferiti al tipo di dati C predefinito. Per i dati di tipo carattere, la lunghezza dell'ottetto di trasferimento non include lo spazio per il carattere di terminazione Null. La lunghezza dell'ottetto di trasferimento di una colonna può essere diversa dal numero di byte necessari per archiviare i dati nell'origine dati.

La lunghezza dell'ottetto di trasferimento definita per ogni tipo di dati SQL ODBC è illustrata nella tabella seguente.

Identificatore del tipo SQL Lunghezza
Tutti i tipi di caratteri[a] Lunghezza definita o massima (per tipo variabile) della colonna in byte. Si tratta dello stesso valore del campo descrittore SQL_DESC_OCTET_LENGTH.
SQL_DECIMAL
SQL_NUMERIC
Numero di byte necessari per contenere la rappresentazione di caratteri di questi dati se il set di caratteri è ANSI e due volte questo numero se il set di caratteri è UNICODE. Questo è il numero massimo di cifre più due, perché i dati vengono restituiti come stringa di caratteri e caratteri sono necessari per le cifre, un segno e un separatore decimale. Ad esempio, la lunghezza di trasferimento di una colonna definita come 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
Tutti i tipi binari[a] Numero di byte necessari per contenere il numero di caratteri definito (per i tipi fissi) o massimo (per i tipi variabili).
SQL_TYPE_DATE
SQL_TYPE_TIME
6 (la dimensione del SQL_DATE_STRUCT o della struttura SQL_TIME_STRUCT).
SQL_TYPE_TIMESTAMP 16 (la dimensione della struttura SQL_TIMESTAMP_STRUCT).
Tutti i tipi di dati interval 34 (la dimensione della struttura dell'intervallo).
SQL_GUID 16 (dimensioni della struttura GUID).

[a] Se il driver non è in grado di determinare la lunghezza della colonna o del parametro per i tipi di variabili, restituisce SQL_NO_TOTAL.