dBASE 数据类型

下表显示了如何将 dBASE 数据类型映射到 ODBC SQL 数据类型。 请注意,并非所有 ODBC SQL 数据类型都受支持。

dBASE 数据类型 ODBC 数据类型
CHAR SQL_VARCHAR
DATE SQL_DATE
FLOAT[1] SQL_DOUBLE
LOGICAL SQL_BIT
备忘录 SQL_LONGVARCHAR
数字 (BCD) SQL_DOUBLE
OLEOBJECT[1] SQL_LONGBINARY

[1] 仅适用于 dBASE 版本 5。X

dBASE III 中的精度允许具有最多两位数指数的数字和最多三位数指数的 dBASE IV 数字。 由于数字以文本的形式存储,因此它们将转换为数字。 如果要转换的数字不适合字段,可能会出现无法解释的结果。

虽然 dBASE 允许使用 NUMERIC 数据类型指定精度和刻度,但 ODBC dBASE 驱动程序不支持它。 对于 NUMERIC 数据类型,ODBC dBASE 驱动程序始终返回 15 的精度和 0 的刻度。

使用 ODBC dBASE 驱动程序使用 Numeric 数据类型创建的列映射到 ODBC 数据类型SQL_DOUBLE。 因此,此列中的数据会四舍五入。 此行为与 dBASE (类型 N) 中的 NUMERIC 数据类型不同,该类型为二进制编码的十进制 (BCD) 。

注意

SQLGetTypeInfo 返回 ODBC SQL 数据类型。 本主题前面列出的 ODBC SQL 数据类型支持 ODBC 程序员参考 附录 D 中的所有转换。

下表显示了 dBASE 数据类型的限制。

数据类型 说明
CHAR 创建长度为零或未指定长度的 CHAR 列实际上会返回一个 254 字节的列。
加密数据 dBASE 驱动程序不支持加密的 dBASE 表。
LOGICAL dBASE 驱动程序无法对 LOGICAL 列创建索引。
备忘录 MEMO 列的最大长度为 65,500 字节。

有关数据类型的更多限制,请参阅 数据类型限制