将 SQLWCHAR 定义为 32 位 (UTF-32) 的 ODBC 驱动程序管理器版本不能同支持宽调用的 SQL Anywhere ODBC 驱动程序一起使用,因为该驱动程序是为 16 位 SQLWCHAR 构建的。针对这些情况,特地提供了纯 ANSI 版本的 SQL Anywhere ODBC 驱动程序。此版本的 ODBC 驱动程序不支持宽调用接口(如 SQLConnectW)。
此驱动程序的共享对象名为 libdbodbcansi12_r。只提供一个驱动程序的线程变体。在 Mac OS X 上,除了 dylib,也可以获得打包形式的 (dbodbcansi12_r.bundle).某些框架,如 Real Basic,不能使用 dyliband,必需使用打包形式。
常规的 ODBC 驱动程序将 SQLWCHAR 字符串视作 UTF-16 字符串。该驱动程序不能和某些 ODBC 驱动程序管理器一起使用,如 iODBC,因为这些驱动程序将把 SQLWCHAR 字符串视作 UTF-32 字符串。处理启用了 Unicode 的驱动程序时,这些驱动程序管理器将来自应用程序的窄调用转换成到驱动程序的宽调用。纯 ANSI 驱动程序避开了这种行为,只要应用程序不作出任何宽调用,驱动程序就可以与这些驱动程序管理器一同使用。通过 iODBC 进行宽调用或其它任何有类似语义的驱动程序管理器,仍然是不受支持的。
![]() |
使用DocCommentXchange 讨论此页。
|
版权 © 2010, iAnywhere Solutions, Inc. - SQL Anywhere 12.0.0 |