桌面数据库驱动程序兼容性

Unicode 是一种软件字符编码方法,将所有字符视为具有两个字节的固定宽度。 此方法用作 Windows ANSI 字符编码的替代方法,由于它表示一个字节中的字符,因此限制为 256 个字符。 由于 Unicode 可以表示超过 65,000 个字符,因此它适用于许多语言,这些语言的字符未以 ANSI 编码表示。

ODBC 3.5 (或更高版本) 驱动程序管理器已启用 Unicode。 这会影响两个主要方面:函数调用和字符串数据类型。 驱动程序管理器根据应用程序和驱动程序的要求映射函数字符串参数和字符串数据,这两者都可以启用 Unicode 或启用 ANSI。

ODBC 3.5 (或更高版本) 驱动程序管理器支持将 Unicode 驱动程序与 Unicode 应用程序和 ANSI 应用程序一起使用。 它还支持将 ANSI 驱动程序与 ANSI 应用程序配合使用。 驱动程序管理器为使用 ANSI 驱动程序的 Unicode 应用程序提供有限的 Unicode 到 ANSI 映射。 这允许访问 Jet 3.5 数据库,并支持所有现有的 ISAM 文件类型。

当 ANSI 应用程序使用 ODBC 桌面数据库驱动程序 4.0 并访问 Microsoft Access 4.0 或更高版本时,驱动程序会将数据类型公开为 SQL_CHAR、SQL_VARCHAR 或 SQL_LONGVARCHAR,即使 Jet 4.0 支持宽版本也是如此。 旧版 Jet 不支持SQL_WCHAR、SQL_WVARCHAR和SQL_WLONGVARCHAR。 此限制也适用于旧格式与 Jet 4.0 数据库引擎一起使用的情况。

有关 ODBC 的 Unicode 问题的详细信息,请参阅编程注意事项中的 Unicode