标头文件
您可使用 sql.h 和 sqlext.h 标头文件,来运行 GBase 8s ODBC Driver,其为 Microsoft™ 编译器的一部分。
要运行 GBase 8s 扩展,请包括安装在 GBS_HOME/incl/cli 中的 infxcli.h 文件。此文件定义 GBase 8s ODBC Driver 常量和类型,并为 GBase 8s ODBC Driver 环境提供函数prototype。
如果包括 infxcli.h 文件,则它自动地包括 sql.h 和 sqlext.h 文件。
sql.h 和 sqlext.h 标头文件包含 C 数据类型的定义。
请在 XA ODBC 应用程序中包括 xa.h 标头文件。Windows™ 上的 ODBC 应用程序需要GBase 8s Client Software Development Kit 来编译。在重新编译它们之前,ODBC 驱动程序
的应用程序可能需要在 PATH 环境变量中包括 Client SDK 的位置。
2.4.3 数据类型
存储在数据源上的一列数据有一个 SQL 数据类型。
GBase 8s ODBC Driver 将特定于 GBase 8s 的 SQL 数据类型映射为以 ODBC SQL 语法定义的 ODBC SQL 数据类型。(驱动程序通过 SQLGetTypeInfo 返回这些映射。它还使用 ODBC SQL 数据类型来描述 SQLColAttributes 和 SQLDescribeCol 中的列和参数的数据类型)。
每一 SQL 数据类型对应于一个 ODBC C 数据类型。在缺省情况下,驱动程序假设存储位置的 C 数据类型对应于该位置绑定至其的列或参数的 SQL 数据类型。如果存储位置的 C
数据类型不是缺省的 C 数据类型,则应用程序可以使用 SQLBindCol 的 TargetType、SQLGetData 的 fCType 参数,以及 SQLBindParameter 中的 ValueType 参数来指定正确的
C 数据类型。在驱动程序从数据源返回数据之前,它将数据转换为指定的 C 数据类型。
在驱动程序将数据发送至数据源之前,它将数据从指定的 C 数据类型转换为 SQL 数据类型。
GBase 8s 数据类型名称不同于 Microsoft™ ODBC 数据类型名称。要获取关于这些差异的信息,请参阅《GBase 8s ODBC Driver 程序员指南》。
2.4.4 库
对于 UNIX™ 和 Windows™,有一个安装库的安装过程。
UNIX
该安装过程将下列库安装至 GBS_HOME/lib/cli 内。在 odbc.ini 文件中的每一数据源规范部分中,将驱动程序值指定为下列库文件名称之一的完整路径。
libifcli.a 或 libcli.a
单个(非线程的)库的静态版本
libifcli.so 或 iclis09b.so
单个(非线程的)库的共享版本
libthcli.a
多线程库的静态版本
libthcli.so 或 iclit09b.so
多线程库的共享版本
libifdrm.so 或 idmrs09a.so
SMR(线程安全的)共享库
如果未使用驱动程序管理器,则应用程序需要连接至 GBase 8s ODBC Driver 库的静态或共享版本。
下列编译命令将应用程序链接至 GBase 8s ODBC Driver 库的线程安全版本:
cc ... -L$GBS_HOME/lib/cli -lifdmr - lthcli
Windows
安装过程将下列库安装至 GBS_HOME\lib 内。
iclit09b.lib
直接启用至驱动程序的链接,而不使用驱动程序管理器
iregt07b.lib
允许直接链接至 iregt07b.dll
下列编译命令将应用程序链接至 GBase 8s ODBC Driver 库的线程安全版本:
cl ... -L$GBS_HOME/lib/cli iclit09b.lib
如果使用驱动程序管理器,则必须将应用程序仅链接至驱动程序管理器库,如下例所示:
cl odbc32.lib
GBase 8s ODBC Driver 需要 Version 3.0 驱动程序管理器。




