Anhang D:-Datentypen

ODBC definiert zwei Sätze von Datentypen: SQL-Datentypen und C-Datentypen. SQL-Datentypen geben den Datentyp der in der Datenquelle gespeicherten Daten an. C-Datentypen geben den Datentyp der in Anwendungspuffern gespeicherten Daten an.

SQL-Datentypen werden von jedem DBMS gemäß dem SQL-92-Standard definiert. Für jeden SQL-Datentyp, der im SQL-92-Standard angegeben ist, definiert ODBC einen Typbezeichner, bei dem es sich um einen #define Wert handelt, der in ODBC-Funktionen als Argument übergeben oder in den Metadaten eines Resultsets zurückgegeben wird. Die einzigen SQL-92-Datentypen, die von ODBC nicht unterstützt werden, sind BIT (der ODBC-SQL_BIT-Typ weist unterschiedliche Merkmale auf), BIT_VARYING, TIME_WITH_TIMEZONE, TIMESTAMP_WITH_TIMEZONE und NATIONAL_CHARACTER. Treiber sind für die Zuordnung datenquellenspezifischer SQL-Datentypen zu ODBC SQL-Datentypbezeichnern und treiberspezifischen SQL-Datentypbezeichnern verantwortlich. Der SQL-Datentyp wird im feld SQL_DESC_CONCISE_TYPE eines Implementierungsdeskriptors angegeben.

ODBC definiert die C-Datentypen und die entsprechenden ODBC-Typbezeichner. Eine Anwendung gibt den C-Datentyp des Puffers an, der Resultsetdaten empfängt, indem sie den entsprechenden C-Typbezeichner im Argument TargetType in einem Aufruf von SQLBindCol oder SQLGetData übergibt. Er gibt den C-Typ des Puffers an, der einen Anweisungsparameter enthält, indem der entsprechende C-Typbezeichner im ValueType-Argument in einem Aufruf von SQLBindParameter übergeben wird. Der C-Datentyp wird im feld SQL_DESC_CONCISE_TYPE eines Anwendungsdeskriptors angegeben.

Hinweis

Es gibt keine treiberspezifischen C-Datentypen.

Jeder SQL-Datentyp entspricht einem ODBC C-Datentyp. Bevor Daten aus der Datenquelle zurückgegeben werden, konvertiert der Treiber sie in den angegebenen C-Datentyp. Vor dem Senden von Daten an die Datenquelle konvertiert der Treiber sie aus dem angegebenen C-Datentyp.

Dieser Anhang enthält die folgenden Themen.

Eine Erläuterung der ODBC-Datentypen finden Sie unter Datentypen in ODBC. Informationen zu treiberspezifischen SQL-Datentypen finden Sie in der Treiberdokumentation.