Freigeben über


dBASE-Datentypen

Die folgende Tabelle zeigt, wie dBASE-Datentypen ODBC SQL-Datentypen zugeordnet werden. Beachten Sie, dass nicht alle ODBC SQL-Datentypen unterstützt werden.

dBASE-Datentyp ODBC-Datentyp
CHAR SQL_VARCHAR
DATE SQL_DATE
FLOAT[1] SQL_DOUBLE
LOGICAL SQL_BIT
MEMO SQL_LONGVARCHAR
NUMERIC (BCD) SQL_DOUBLE
OLEOBJECT[1] SQL_LONGBINARY

[1] Gilt nur für dBASE Version 5. X

Genauigkeit in dBASE III ermöglicht Zahlen mit bis zu zweistelligen Exponenten und in dBASE IV Zahlen mit bis zu dreistelligen Exponenten. Da Zahlen als Text gespeichert werden, werden sie in Zahlen konvertiert. Wenn die zu konvertierende Zahl nicht in ein Feld passt, können unerklärliche Ergebnisse auftreten.

dBASE ermöglicht zwar die Angabe einer Genauigkeit und einer Skalierung mit einem NUMERIC-Datentyp, wird aber vom ODBC dBASE-Treiber nicht unterstützt. Der ODBC dBASE-Treiber gibt immer eine Genauigkeit von 15 und eine Skala von 0 für einen NUMERIC-Datentyp zurück.

Eine Spalte, die mit dem Numerischen Datentyp mit dem ODBC dBASE-Treiber erstellt wurde, wird dem SQL_DOUBLE ODBC-Datentyp zugeordnet. Daher unterliegen die Daten in dieser Spalte einer Rundung. Dieses Verhalten ist nicht mit dem des NUMERIC-Datentyps in dBASE (Typ N) identisch, der binary Coded Decimal (BCD) ist.

Hinweis

SQLGetTypeInfo gibt ODBC-SQL-Datentypen zurück. Alle Konvertierungen in Anhang D der ODBC-Programmiererreferenz werden für die ODBC SQL-Datentypen unterstützt, die weiter oben in diesem Thema aufgeführt sind.

Die folgende Tabelle enthält Einschränkungen für dBASE-Datentypen.

Datentyp BESCHREIBUNG
CHAR Beim Erstellen einer CHAR-Spalte mit 0 oder nicht angegebener Länge wird tatsächlich eine Spalte mit 254 Byte zurückgegeben.
Verschlüsselte Daten Der dBASE-Treiber unterstützt keine verschlüsselten dBASE-Tabellen.
LOGICAL Der dBASE-Treiber kann keinen Index für eine LOGICAL-Spalte erstellen.
MEMO Die maximale Länge einer MEMO-Spalte beträgt 65.500 Bytes.

Weitere Einschränkungen für Datentypen finden Sie unter Datentypbeschränkungen.