Teilen über


Länge der Übertragungsoktette

Die Übertragungs oktettlänge einer Spalte ist die maximale Anzahl von Bytes, die an die Anwendung zurückgegeben werden, wenn Daten in den Standarddatentyp C übertragen werden. Bei Zeichendaten enthält das Übertragungsoktett keinen Leerraum für das NULL-Terminierungszeichen. Die Übertragungs oktettlänge einer Spalte kann sich von der Anzahl der Bytes unterscheiden, die zum Speichern der Daten in der Datenquelle erforderlich sind.

Die für jeden ODBC SQL-Datentyp definierte Übertragungs oktettlänge ist in der folgenden Tabelle dargestellt.

SQL-Typbezeichner Länge
Alle Zeichentypen[a] Die definierte oder die maximale Länge (für variablen Typ) der Spalte in Byte. Dies ist der gleiche Wert wie das Deskriptorfeld SQL_DESC_OCTET_LENGTH.
SQL_DECIMAL
SQL_NUMERIC
Die Anzahl der Bytes, die erforderlich sind, um die Zeichendarstellung dieser Daten zu enthalten, wenn der Zeichensatz ANSI ist, und doppelt so viele, wenn der Zeichensatz UNICODE ist. Dies ist die maximale Anzahl von Ziffern plus zwei, da die Daten als Zeichenfolge zurückgegeben werden und Zeichen für die Ziffern, ein Zeichen und ein Dezimaltrennzeichen benötigt werden. Beispielsweise beträgt die Übertragungslänge einer spalte, die als NUMERIC(10,3) definiert ist, 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
Alle Binärtypen[a] Die Anzahl der Bytes, die erforderlich sind, um die definierte (für feste Typen) oder die maximale Anzahl von Zeichen (für Variablentypen) zu enthalten.
SQL_TYPE_DATE
SQL_TYPE_TIME
6 (die Größe der SQL_DATE_STRUCT- oder SQL_TIME_STRUCT-Struktur).
SQL_TYPE_TIMESTAMP 16 (die Größe der SQL_TIMESTAMP_STRUCT-Struktur).
Alle Intervalldatentypen 34 (die Größe der Intervallstruktur).
SQL_GUID 16 (die Größe der GUID-Struktur).

[a] Wenn der Treiber die Spalten- oder Parameterlänge für Variablentypen nicht bestimmen kann, gibt er SQL_NO_TOTAL zurück.