跳到主要内容

配置数据源

这些主题说明如何为 GBase 8s ODBC Driver 在 UNIX™ 和 Windows™ 上配置数据源(DSN)。

安装驱动程序之后,在可连接到它之前,您必须配置 DSN。

在 UNIX 上配置 DSN

配置文件提供驱动程序用来连接至 DSN 的信息,诸如驱动程序属性。

本部分提供关于 UNIX™ 上的驱动程序规范和 DSN 规范的信息,并描述下列 DSN 配置文件:

  • sqlhosts
  • odbcinst.ini
  • odbc.ini

要修改这些文件,请使用文本编辑器。该部分还提供驱动程序和 DSN 规范的示例。

如果您正在启用单点登录(SSO),请参阅《GBase 8s 安全指南》中的“为 SSO 配置 ESQL/C 和 ODBC Driver”的内容。

odbcinst.ini 文件

对于计算机上所有安装的驱动程序,odbcinst.ini 文件都有条目。

安装了的 ODBC 驱动程序使用 odbcinst.ini 样例文件,其位于 $GBS_HOME/etc/odbcinst.ini 中。要创建您的 odbcinst.ini 文件,请将 odbcinst.ini 样例文件复制至您的目录作为 $HOME/.odbcinst.ini(请注意文件名称开始处添加的点)。当您安装新的驱动程序或驱动程序的新版本时,请更新此文件。下表描述 $HOME/.odbcinst.ini 文件中的部分项。

部分描述状态
ODBC 驱动程序所有安装的 ODBC 驱动程序的名称列表可选的
ODBC 驱动程序规范驱动程序属性和值的列表可选的
ODBC 驱动程序

使用示例来获得关于 ODBC 驱动程序的信息。

下列示例说明关于驱动程序的信息:

[ODBC Drivers]
driver_name1=Installed
driver_name2=Installed

下列示例说明关于安装了的驱动程序的信息:

[ODBC Drivers]
GBase 8s ODBC DRIVER=Installed
驱动程序规范

每个安装了的驱动程序在驱动程序名称下方描述其属性。

下列示例说明驱动程序规范格式:

[driver name1]
Driver=driver_library_path
Setup=setup/driver_library_path
APILevel=api_level_supported
ConnectFunctions=connectfunctions
DriverODBCVer=odbc_version
FileUsage=file_usage
SQLLevel=sql_level

下列示例说明关于驱动程序规范的信息:

[GBase 8s ODBC DRIVER]
Driver=/vobs/tristarm/odbc/iclis09b.so
Setup=/vobs/tristarm/odbc/iclis09b.so
APILevel=1
ConnectFunctions=YYY
DriverODBCVer=03.50
FileUsage=0
SQLLevel=1

下表描述驱动程序规范部分中的关键字。

关键字描述状态
API LevelODBC 接口符合驱动程序支持的级别
● 0= 无
● 1= 支持级别 1
● 2= 支持级别 2
必需的
ConnectFunctions指示驱动程序是否支持 SQLConnect、SQLDriverConnect 和 SQLBrowseConnect 的三字符字符串必需的
DriverODBCVer带有驱动程序支持的 ODBC 版本的字符串必需的
Driver驱动程序库路径必需的
FileUsage指示基于文件的驱动程序如何直接处理 DSN 中文件的数值必需的
Setup设置库必需的
SQLLevel指示驱动程序支持的 SQL-92 语法的数值必需的

odbc.ini 文件

odbc.ini 文件是样例数据源配置信息文件。

要了解 odbc.ini 文件的位置,请参阅发布说明。要创建此文件,请将 odbc.ini 复制至您的 home 目录作为 $HOME/.odbc.ini(请注意文件名称开始处添加的点)。您的应用程序连接至的每个 DSN 都必须在此文件中有一个条目。下表描述 $HOME/.odbc.ini 中的部分。

部分描述状态
ODBC 数据源此部分罗列 DSN 并将它们与驱动程序的名称相关联。如果您使用来自第三方供应商的 ODBC 驱动程序,则仅需要提供此部分。必需的
数据源规范“ODBC 数据源”部分罗列的每一 DSN 都有一个描述该 DSN 的“数据源规范”部分。必需的
ODBC此部分罗列 ODBC 跟踪选项。可选的

请遵循下列规则,以在 UNIX™ 系统上的 odbc.ini 文件中包括注释:

  • 在第一行的第一个位置,以分号(;)或数字符号(#)来开始注释。
  • 如果注释包括多行,则可以空格或标签字符(\t)来开始下面的注释行。
  • 可在注释中包括空行。
ODBC 数据源

“ODBC 数据源”部分中的每一条目都罗列 DSN 和驱动程序名称。

data_source_name 值是您选择的任何名称。它就像包含关于 DSN 的所有相关链接信息的信封。

下列示例说明 ODBC data-source 格式:

[ODBC Data Sources]
data_source_name=GBase 8s ODBC DRIVER

下列示例定义两个名为 EmpInfo 和 CustInfo 的 DSN:

[ODBC Data Sources]
EmpInfo=GBase 8s ODBC DRIVER
CustInfo=GBase 8s ODBC DRIVER
数据源规范

数据源部分中的每一 DSN 都有一个数据源规范部分。

下列示例说明数据源规范格式:

[data_source_name]
Driver=driver_path
Description=data_source_description
Database=database_name
LogonID=user_id
pwd=user_password
Server=database_server
CLIENT_LOCALE=application_locale
DB_LOCALE=database_locale
TRANSLATIONDLL=translation_path
CURSORBEHAVIOR=cursor_behavior
DefaultUDTFetchType=default_UDT_Fetch_type
ENABLESCROLLABLECURSORS=enable_scroll_cursors
ENABLEINSERTCURSORS=enable_insert_cursors
OPTIMIZEAUTOCOMMIT=optimize_auto_commit
NEEDODBCTYPESONLY=need_odbc_types_only
OPTOFC=open_fetch_close_optimization
REPORTKEYSETCURSORS=report_keyset_cursors
FETCHBUFFERSIZE=fetchbuffer_size
DESCRIBEDECIMALFLOATPOINT=describe_decimal_as_float
USESERVERDBLOCALE=use_server_dblocale
DONOTUSELVARCHAR=do_not_use_lvarchar
REPORTCHARCOLASWIDECHARCOL=char_col_as_widechar_col
SQLMODE=sqlmode_type
[ODBC]
UNICODE=unicode_type
LENGTHINCHARFORDIAGRECW=bufferlength_as_number_of_characters
LEAVE_TRAILING_SPACES=leave_trailing_spaces

下表描述数据源规范部分中的关键字,以及它们在每一部分中出现的顺序。

关键字描述状态
data_source_name在“数据源”部分指定的数据源必需的
Driver驱动程序的路径 将此值设置为驱动程序库的完整路径名称。要获取关于库目录和文件名称的更多信息,请参阅发版说明。必需的
DescriptionDSN 的描述 为单个用户,或为系统用户配置。可选的
Database在缺省情况下 DSN 连接至的数据库必需的
LogonID访问 DSN 的用户标识或账户名称可选的
pwd访问 DSN 的口令可选的
Serverdatabase_name 所在的 GBase 8s 数据库服务器必需的
CLIENT_LOCALE(仅限于 GLS)客户机语言环境。缺省值:en_us.8859-1可选的
DB_LOCALE(仅限于 GLS)数据库语言环境。缺省值:en_us.8859-1可选的
TRANSLATIONDLL(仅限于 GLS)执行代码集转换的 DLL;缺省值:$GBS_HOME/lib/esql/ig04a304.xx 在此,xx 表示特定于平台的文件扩展名可选的
CURSORBEHAVIOR当调用提交或回滚事务时,游标行为的标志。 可能的值为:
● 0= 关闭游标
● 1= 保持游标 缺省值:0
可选的
DefaultUDTFetchType缺省的 UDT 访存类型。 缺省值:SQL_C_BINARY 可能的值为:
● SQL_C_BINARY
● SQL_C_CHAR
可选的
ENABLESCROLLABLECURSORS如果激活此选项,则 GBase 8s ODBC Driver 仅支持 scrollable、static 游标。 仅作为连接选项可用: SQL_INFX_ATTR_ENABLE_SCROLL_CRUSORS 或作为连接属性字符串: EnableScrollableCursors 缺省值为:0(禁用的)可选的
ENABLEINSERTCURSORS通过缓存与参数数组和插入语句一起使用的插入行,减少发送至服务器和来自服务器的网络消息数。此选项可以提高批量插入操作的性能。 同时作为连接和语句选项可用: SQL_INFX_ATTR_ENABLE_INSERT_CURSORS 或作为连接属性字符串: EnableInsertCursors
缺省值为:0
可选的
OPTIMIZEAUTOCOMMIT在游标保持打开时,延迟自动提交操作。当应用程序正在使用非 ANSI 日志记录数据库时,此选项可减少数据库通讯。 作为连接选项可用: SQL_INFX_ATTR_OPTIMIZE_AUTOCOMMIT 或作为连接属性字符串: OptimizeAutoCommit
缺省值为:1(禁用的)
可选的
OPTOFC导致驱动程序将 open、fetch 和 close 游标消息缓冲至服务器。当您使用 SQLPrepare、SQLExecute 和 SQLFetch 语句来访存带有游标的数据时,此选项可除去一个或多个消息循环。 仅作为连接选项可用: SQL_INFX_ATTR_OPTOFC 或作为连接属性字符串: OPTOFC
缺省值为:0(禁用的)
可选的
REPORTKEYSETCURSORS导致驱动程序(通过SQLGetInfo)来报告,支持 forward-only、static 和 keyset-driver 游标,即使驱动程序仅支持 forward-only 和 static 游标。使用此选项来启用 dynaset 类型函数,诸如 Microsoft™ Visual Basic,其要求驱动程序支持 keyset-driven 游标。 也作为连接选项可用: SQL_INFX_ATTR_REPORT_KEYSET_CURSORS 或作为连接属性字符串: ReportKeysetCursors
缺省值为:0(禁用的)
可选的
FETCHBUFFERSIZE以字节计的访存缓冲区的大小。 作为连接属性字符串可用: FETCHBUFFERSIZE 访存缓冲区的最大大小为 2 GB。
缺省值为:32767
可选的
DESCRIBEDECIMALFLOATPOINT描述所有浮点小数列为:
● Float(SQL_REAL) 或
● Float(SQL_DOUBLE)
浮点小数列是不带有范围创建了的列,例如 DECIMAL(12)。某些诸如 Visual Basic 这样的打包应用程序无法正确地格式化没有固定范围的 Decimal 列。要使用这些应用程序,您必须启用此选项或以固定的范围来重新定义该列。
启用此选项的缺点是,SQL_REAL 和 SQL_DOUBLE 为近似数值数据类型,SQL_DECIMAL 是精确的数值数据类型。将精度为 8 或更低的 SQL_DECIMAL 描述为 SQL_REAL。将精度大于 8 的描述为 SQL_DOUBLE。
作为连接属性字符串可用: DESCRIBEDECIMALFLOATPOINT
缺省值为:0(禁用的)
可选的
USESERVERDBLOCALE用户服务器数据库语言环境。 作为连接属性字符串可用: USERSERVERDBLOCALE
缺省值为:0(禁用的)
可选的
DONOTUSELVARCHAR如果启用,则 SQLGetTypeInfo 不报告 LVARCHAR 作为 SQL_VARCHAR 的支持的类型(DATA_TYPE)。一些应用程序使用 LVARCHAR 而不是 VARCHAR,即使在小于 256 字节的列中。为 LVARCHAR 传输的最小字节数高于 VARCHAR。许多 LVARCHAR 列可导致 rowset 大小超出最大值。
重要: 仅当 SQL_VARCHAR 列小于 256 字节时,才启用此选项。 作为连接属性字符串可用: DONOTUSELVARCHAR
缺省值为:0(禁用的)
可选的
REPORTCHARCOLASWIDECHARCOL导致 SQLDescribeCol 报告字符列作为宽字符列,如下:
● 报告 SQL_CHAR 作为 SQL_WCHAR
● 报告 SQL_VARCHAR 作为 SQL_WVARCHAR
● 报告 SQL_LONGVARCHAR 作为 SQL_WLONGVARCHAR
作为连接属性字符串可用: REPORTCHARCOLASWIDECHARCOL
缺省值为:0(禁用的)
可选的
SQLMODE可以设置数据库模式为gbase或者oracle。需要显式开启。
缺省值为:gbase模式
可选的
UNICODE指示应用程序使用的 Unicode 的类型。此属性仅适用于 UNIX™ 应用程序,并在 odbc.ini 文件的 ODBC 部分中设置。请考虑下列注意事项:
● 未链接至 Data Direct ODBC 驱动程序管理器的 UNIX 上的应用程序应设置此为 UCS-4
● 版本低于 GBase AIX®5L 上的应用程序应设置此属性为 UCS-2。
● 使用 Data Direct 驱动程序管理器的应用程序不需要设置此属性。
缺省值为:UTF-8
要获取关于在 ODBC 应用程序中使用 Unicode 的更多信息,请参阅 Unicode。
必需的
LENGTHINCHARFORDIAGRECW如果启用,则 SQLGetDiagRecW API 处理 BufferLength 参数作为字符数。
缺省值为:FALSE(禁用的)
要获取关于使用 BufferLength 参数的更多信息,请参阅 SQLGetDiagRecW 的字符中的 BufferLength。
LEAVE_TRAILING_SPACES如果启用,则驱动程序在 VARCHAR 列结果的结尾保留空字符。 可能的值为:
● 0(除去结尾空格)
● 1(保留结尾空格)
缺省值为:0

下列示例展示名为 EmpInfo 的 DSN 的配置:

[EmpInfo]
Driver=/gbasedbt/lib/cli/iclis09b.so
Description=Demo data source
Database=odbc_demo
LogonID=admin
pwd=tiger
Server=ifmx_91
CLIENT_LOCALE=en_us.8859-1
DB_LOCALE=en_us.8859-1
TRANSLATIONDLL=/opt/gbasedbt/lib/esql/igo4a304.so

下列示例展示名为 GBase 8s 9 的 DSN 的配置:

[GBase 8s 9]
Driver=/work/gbasedbt/lib/cli/iclis09b.so
Description=GBase 8s 9.x ODBC Driver
LogonID=user1
pwd=tigress4
Database=odbc_demo
ServerName=my_server

如果指定空 LogonID 或 pwd,则发生下列错误:

Insufficient connect information supplied
提示

如果本地 GBase 8s 数据库服务器与客户机在的同一计算机上,则您可以 LogonID 和 pwd 的空值来建立至 DSN 的连接。在此情况下,将当前用户视为可信的用户。

服务器与客户机位于同一计算机上,不带有 LogonID 和 pwd 的样例数据源可能像下列示例一样:

Driver=/work/gbasedbt/lib/cli/iclis09b.so
Description=GBase 8s 9.x ODBC Driver
LogonID=
pwd=tiger
Database=odbc_demo
ServerName=ifmx_server
设置隔离级别(仅限于 UNIX)

通过使用 ISOLATIONLEVEL 和 SQL_TXN_LAST_COMMITTED 关键字,来在 odbc.ini 文件中设置隔离级别。

要在 odbc.ini 文件中指定隔离级别,请使用下列关键字和值:

  • ISOLATIONLEVEL = level
  • SQL_TXN_LAST_COMMITTED = last committed

在此,level 是从 0 至 5 的数值:

  • 0 = 基于数据库类型自动地考虑缺省值
  • 1 = Read Uncommitted
  • 2 = Read Committed(非 ANSI 数据库的缺省值)
  • 3 = Repeatable Read(ANSI 数据库的缺省值)
  • 4 = Serializable
  • 5 = Last Committed

如果应用程序调用带有 SQL_ATTR_TXN_ISOLATION 属性的 SQLSetConnectAttr,并在连接之前设置该值,然后又在连接字符串中设置 ISOLATIONLEVEL 或 ISOLVL,则连接字符串是要使用的最终值。

在 UNIX™ 平台上不支持 SQL_TXN_TRANSACTION 隔离级别。

ODBC 部分

odbc.ini 的 ODBC 部分中的值指定 ODBC 跟踪选项。

使用跟踪,您可发现调用产生的日志,还有每一调用的返回代码。在 Windows™ 上,通过 ODBC Data Source Administrator 对话框的 Tracing 标签来设置这些选项。

下表描述 ODBC 部分中的跟踪选项:

表 1. odbc.ini 的 ODBC 部分的跟踪选项

选项细节
TRACE=1启用跟踪
TRACE=0禁用跟踪
TRACEFILE设置为你想要驱动程序写入调用日志的位置。
TRACEDLL始终为 idmrs09a.so

下列示例说明 ODBC 部分规范格式:

[ODBC]
TRACE=1
TRACEFILE=/WORK/ODBC/ODBC.LOG
TRACEDLL=idmrs09a.so
UNICODE=UCS-4

您必须将 TRACEFILE 设置为想要驱动程序写入所有调用日志的位置。请记住,TRACE=1 意味着启用跟踪。TRACE=0 禁用跟踪选项。

设置 $ODBCINI 环境变量

设置 $ODBCINI 环境变量来由系统用户提供对 DSN 的访问。

在缺省情况下,GBase 8s ODBC Driver 使用在 HOME/.odbc.ini文件中的配置信息。如果您想要由系统用户提供对您的DSN的访问,请修改HOME/.odbc.ini 文件中的配置信息。如果您想要��由系统用户提供对您的 DSN 的访问,请修改 ODBCINI 环境变量中的路径,使其指向另一个包含 HOME/.odbc.ini文件中的配置信息的配置文件。然后更改配置文件许可,以允许系统用户进行读访问。请不要更改对HOME/.odbc.ini文件中的配置信息的配置文件。然后更改配置文件许可,以允许系统用户进行读访问。请不要更改对 HOME/.odbc.ini 文件的权限。

在下列示例中, 配置文件名称为 myodbc.ini:

setenv ODBCINI /work/myodbc.ini

.netrc 文件

.netrc 文件包含通过网络登录至远程数据库服务器的数据。

在客户机计算机初始化连接处的 home 目录中,创建 .netrc 文件。将用户的 .netrc文件许可设置为拒绝由组和其他用户读访问。

要连接至远程数据库服务器,请在 .netrc 文件中为需要自动连接至数据源的 LogonID 和 pwd 创建条目。要建立至远程数据源的连接,ODBC 驱动程序首先从 HOME/.odbc.ini文件中的数据源条目读取LogonIDpwd。如果HOME/.odbc.ini文件中的数据源条目读取 LogonID 和 pwd。如果 HOME/.odbc.ini 文件未指定 LogonID 和 pwd,则 ODBC 驱动程序搜索 $HOME/.netrc 文件。

例如,通过使用带有口令 mypassword 的登录名称 log8in,要允许自动登录至名为 ray 的计算机,您的 .netrc 文件要包含下列行:

machine ray login log8in password mypassword

要获取关于 .netrc 文件的信息,请参阅 UNIX™ 资料。

在 Windows 中配置 DSN

在 Windows™ 环境中,GBase 8s ODBC Driver 提供 GUI 来配置 DSN。

要配置 DSN,请:

  • 选择一个过程来修改 DSN:
    • 选择“用户 DSN”选项来限制一个用户的访问。
    • 选择“系统 DSN”选项来限制系统用户的访问。
    • 选择“文件 DSN”选项以允许网络上所有用户的访问。
  • 键入“DSN 配置”值,来创建 DSN,诸如数据源名称、数据库服务器名称和数据库语言环境。

对于值的描述,请参阅后面的两个表。以它们在每一部分中出现的顺序显示值。还可使用 Microsoft™ ODBC Version 2.5或后来的版本,来配置 DSN。

提示

要查明有什么 DSN,请点击 关于 标签,并阅读 描述 文本框的内容。

重要

要在 Windows 64 位平台上配置 DSN,您必须使用 32 位 ODBC Data Source Administrator:

C:\WINDOWS\SysWOW64\odbcad32.exe

您必须为 SSO 指定用户和口令或 CSM 设置。必须指定用户和口令。 如果正在启用单点登录(SSO),则附加的步骤位于《GBase 8s 安全指南》中的“为 SSO 配置 ESQL/C 和 ODBC Driver”中。

表 1. 必需的 DSN 值

必需的值描述
数据源名称要访问的 DSN
此值为您选择的任意名称。数据源名称 就像一个包含关于 DSN 的所有相关连接信息的信封一样。
数据库名称在缺省情况下,DSN 连接到的数据库名称。
主机名称服务器 所在的计算机
协议用来与 服务器 通讯的协议
在添加了 DSN 之后,该菜单键显示可用的选项。
服务器名称服务器 所在的 GBase 8s 数据库服务器
服务运行在 主机 上的 GBase 8s 数据库服务器进程
请与您的系统管理员或数据库管理员确认该服务名称。

表 2. 可选的 DSN 值

可选的值描述
客户机语言环境缺省值:en_us.1252
数据库语言环境缺省值:en_us.1252
描述任何信息,诸如版本号和服务
选项通用信息,诸如口令设置
要获取关于此值的更多信息,请参阅《GBase 8s 管理员指南》中的 sqlhosts 信息。
口令访问 DSN 的口令
事务库指定代码集转换的“动态链接库”(DLL);缺省值:$GBS_HOME\bin\ig04n304.dll
用户 ID访问 DSN 的用户标识或账户名称
事务选项非 GBase 8s 事务库的选项
当 rgbValue(输出区域)对于代码集转换的数据不够大时,指定如何设置 pcbValue 的变化的多字符长度报告选项
可能的值:
● 0= 估计的
● 1= 精确地
缺省值:0
游标行为当调用提交或回滚事务时,游标行为的标志 可能的值为:
● 0= 关闭游标
● 1= 保持游标
缺省值:0

在完成这些步骤之后,您将连接至 DSN。

配置新的用户 DSN 或系统 DSN

访问 ODBC Data Source Administrator 对话框,来配置新的用户 DSN 或系统 DSN。

要配置新的用户 DSN 或系统 DSN,请:

  1. 选择开始 > 设置 > 控制面板

  2. 双击 ODBC 来打开 ODBC Data Source Administrator 对话框。

    • 要配置用户 DSN,请前进至步骤 3。
    • 要配置系统 DSN,请点击系统 DSN 标签,并前进至步骤 3。

    所有后续步骤都与配置用户 DSN 或系统 DSN 相同。

  3. 点击添加。

    “创建新的数据源”对话框打开。

  4. 在“创建新的数据源”向导上双击 GBase 8s ODBC 驱动程序。

    “GBase 8s ODBC Driver 设置” 对话框的通用页面打开。

  5. 在通用页面中键入值,如下列示例所示:

    • “数据源名称”:odbc33int
    • “描述”:file DSN 3.81 on turbo
    限制

    在此页面上键入值之后,请不要点击确定。 如果在键入所有值之前点击确定,则会得到错误消息。

  6. 点击连接标签来显示连接页面,并键入值,如下列示例所示:

    • “服务器名称”:ol_clipper(或者使用菜单来选择 sqlhosts 注册表上的服务器。如果使用菜单,则 ODBC 应用程序设置“主机名称”、“服务”、“协议”和“选项”值。)
    • “主机名称”:clipper
    • “服务”:turbo
    • “协议”:onsoctcp(或者使用菜单来选择协议)
    • “选项”:csm=(SPWDCSM)
    • “数据库名称”:odbc_demo(或者使用菜单来找到数据库名称)
    • “用户 ID”:myname
    • “口令”:*******

    要保存您选择的值并验证 DSN 连接成功,请点击“应用并测试连接”。“ODBC 消息”对话框打开。该框告诉您连接是否成功,如果不成功,则告诉您哪个“连接标签”值不正确。

  7. 点击环境标签来显示环境页面,并键入值,如下列示例所示:

    • “客户机语言环境”:en_US.CP1252
    • “数据库语言环境”:en_US.CP1252
    • “使用服务器数据库语言环境”: 如果选中该勾选框,则将数据库语言环境设置为服务器语言环境。如果清除该勾选框,则将数据库语言环境设置为缺省的语言环境 en_US.CP1252。
    • “事务库”:GBS_HOME\lib\esql\ig04n304.dll
    • “事务选项”:0
    • “游标行为”:0 - 关闭
    • “VMB 字符”:0 - 估计的
    • “访存缓冲区大小”:4096
    • “隔离级别”:0 - 认为是缺省的 Read Committed(非 ANSI 数据库)或 Repeatable Read(ANSI 数据库)
  8. 点击高级标签来显示高级页面,并点击所有适当的框。

    选项描述
    自动提交优化在游标保持打开时,此选项延迟自动提交操作,且当应用程序正在使用非 ANSI 日志记录的数据库时,此选项减少数据库通讯。此选项仅作为连接选项可用: SQL_INFX_ATTR_OPTIMIZE_AUTOCOMMIT 或作为连接属性字符串:"OptimizeAutoCommit"
    缺省值为:1(启用的)。
    “打开-访存-关闭”优化此选项导致驱动程序将 open、fetch 和 close 游标消息缓冲至服务器。此外,当您使用 SQLPrepare、SQLExecute 和 SQLFetch 语句来访存带游标的数据时,此选项消除一个或多个消息往复。此选项仅作为连接选项可用: SQL_INFX_ATTR_OPTOFC 或者作为连接属性字符串:"OPTOFC"
    缺省值为:0(禁用的)
    插入游标通过缓存与参数数组和插入语句一起使用的插入行,此选项减少发送至服务器或来自服务器的网络消息数。此选项通常可极大地提升批量插入操作的性能,并同时作为连接和语句选项可用: SQL_INFX_ATTR_ENABLE_INSERT_CURSORS. 或者作为连接属性字符串:"EnableInsertCursors"
    缺省值为:0(禁用的)。
    可滚动游标如果激活此选项,则 GBase 8s ODBC Driver Version 2.90 和后来版本仅支持 scrollable、static 游标。此选项仅作为连接选项可用: SQL_INFX_ATTR_ENABLE_SCROLL_CURSORS 或者作为连接属性字符串:"EnableScrollableCursors"
    缺省值为:0(禁用的)。
    报告 KeySet 游标此选项导致驱动程序(通过 SQLGetInfo)来报告它支持 forward-only、static 和 keyset-driven 游标类型,尽管驱动程序仅支持 forward-only 和 static 游标。当设置此选项时,驱动程序启用 dynaset-type 函数,诸如 Microsoft™ Visual Basic 的函数。这些函数需要驱动程序支持 keyset-driven 游标类型。此选项还作为连接属性可用: SQL_INFX_ATTR_REPORT_KEYSET_CURSORS 或者作为连接属性字符串:"ReportKeysetCursors"
    缺省值为:0(禁用的)。
    仅报告标准 ODBC 类型如果激活此特性,则驱动程序会导致 SQLGetTypeInfo 按如下方式映射所有用户定义的类型(UDT):
    Blob
    SQL_LONGVARBINARY
    Clob
    SQL_LONGVARBINARY
    Multiset
    SQL_C_CHAR/SQL_C_BINARY
    Set
    SQL_C_CHAR/SQL_C_BINARY
    List
    SQL_C_CHAR/SQL_C_BINARY
    Row
    SQL_C_CHAR/SQL_C_BINARY
    驱动程序将 multiset、set、row 和 list 数据类型映射为 SQL_C_CHARSQL_C_BINARY,这是缺省的 UDT FetchType 到 SQL_C_CHAR 功能。
    缺省值为:0(禁用的)。
    描述小数浮点为 SQL_REAL / SQL_DOUBLE此选项描述所有浮点小数列为 Float(SQL_REAL 或 SQL_DOUBLE)。浮点小数列是未带有范围创建的列,例如:DECIMAL(12)。诸如 Visual Basic 这样的一些预先打包的应用程序无法恰当地格式化那些没有固定范围的 Decimal 列。要使用这些应用程序,您必须启用此选项,或以固定的范围来重新定义该列。
    然而,启用此选项有一个缺点,SQL_DECIMAL 是精确的数值数据类型,而 SQL_REAL 和 SQL_DOUBLE 是近似的数值数据类型。将精度为 8 或更小的 SQL_DECIMAL 描述为 SQL_REAL,精度大于 8 的是 SQL_DOUBLE。
    缺省值为:0(禁用的)。
    不使用 LVARCHAR导致 SQLGetTypeInfo 不报告 LVARCHAR 作为 SQL_VARCHAR 的支持的 DATA_TYPE 类型。
    诸如 MS Access97 这样的一些应用程序使用 LVARCHAR,而不是 VARCHAR,即使对于长度小于 256 字节的列也是如此。为 LVARCHAR 传输的最小字节数高于 VARCHAR,且许多 LVARCHAR 列可能导致 rowset 大小超出最大值。仅当 SQL_VARCHAR 列的长度小于 256 字节时,才启用此选项。
    缺省值为:0(禁用的)。
    报告 CHAR 列作为宽 CHAR 列导致 SQLDescribeCol 报告 char 列为宽 char 列。报告 SQL_CHAR 列为 SQL_WCHAR,SQL_VARCHAR 为 SQL_WVARCHAR,SQL_LONGVARCHAR 列为 SQL_WLONGVARCHAR 。
    缺省值为:0(禁用的)。
    SQLGetDiagRecW 的 Char 长度如果启用,则 SQLGetDiagRecW API 将 BufferLength Parameter 处理为字符数。
    缺省值为:FALSE(禁用的)。
    保留结尾的空格如果启用,则驱动程序保留 VARCHAR 列结果结尾处的空字符。
    缺省值为:0(禁用的)。
  9. 要检查至数据库服务器的连接,请点击测试连接。

  10. 点击确定,以返回至“ODBC Data Source Administrator”对话框,并在恰当的文件中更新 DSN 信息。

当您的应用程序连接至此 DSN 时,您键入了的值是 DSN 连接的缺省条目。

移除 DSN

访问“ODBC Data Source Administrator”对话框来移除 DSN。

要移除 DSN,请:

  1. 遵循来自 配置新的用户 DSN 或系统 DSN 和 2。

  2. 在“ODBC Data Source Administrator”对话框中点击移除。

    “32 位 ODBC Administrator”对话框打开。

  3. 点击是,来移除 DSN 并返回至“ODBC Data Source Administrator”对话框。

重新配置现有的 DSN

访问“ODBC Data Source Administrator”对话框,来重新配置现有的用户 DSN。

要重新配置现有的 DSN,请:

  1. 遵循来自 配置新的用户 DSN 或系统 DSN 和 2。

  2. 点击配置来显示“GBase 8s ODBC Driver 设置”对话框。

    在对应的文本框中键入新的配置值,并点击确定以返回“ODBC Data Source Administrator”对话框。

在完成这些步骤之后,您会连接至该 DSN。

配置文件 DSN

访问“ODBC Data Source Administrator”对话框,来配置文件 DSN。

要配置文件 DSN,请:

  1. 选择开始 > 设置 > 控制面板。

  2. 双击“ODBC”图标来打开“ODBC Data Source Administrator”对话框。

  3. 点击文件 DSN 标签,来显示文件 DSN 页面。

    选择“文件 DSN”选项,以允许网络上的所有用户访问该 DSN。

  4. 点击添加。

    “创建新的数据源”助手打开。

  5. 从驱动程序列表选择 GBase 8s ODBC Driver,并点击下一步来显示“Create New Data Source Setup”助手,其包含文件数据源文本框。

  6. 如果您知道数据源文件的名称,则将该名称键入至文本框内,点击下一步来显示完成的“Create New Data Source”助手,并前进至步骤 9

    如果不知道文件的名称,则点击浏览来显示“另存为”对话框,并输入值,如下列示例所示:

    • “文件名称”:File_DSN
    • “另存为类型”:ODBC File Data Sources

    选择一个文件名称,或在 File_name 文本框中输入文件名称。

  7. 点击保存来显示“Create New Data Source”助手,其显示关于数据源名称的信息。

  8. 点击下一步来显示完成的“Create New Data Source”助手。

  9. 点击完成来显示“GBase 8s Connect”对话框。

    要了解这些值的描述,请参阅 表 1 和 表 2。要了解高级标签值,请参阅 配置新的用户 DSN 或系统 DSN。

  10. 点击确定来保存这些值,并显示“ODBC Data Source Administrator”对话框。

    在文本框中显示您在步骤 6 中选择或输入的数据文件的名称。

在添加或更改 DSN 配置信息之后,驱动程序更新恰当的 Windows™ 注册表,来反映指定的值。要与其他 GBase 8s 连接性产品相兼容,驱动程序将 DSN 配置信息存储在 Windows 注册表中。

创建调用驱动程序的日志

访问跟踪页面,来创建调用驱动程序的日志。

要创建调用驱动程序的日志,请:

  1. 点击跟踪标签,来显示跟踪页面。

  2. 选择现在开始跟踪来开启跟踪。

  3. 要输入现有的日志文件,请点击浏览来显示“选择 ODBC 日志文件”对话框。

  4. 在 File_name 文本框中键入文件名称,并点击保存来返回至跟踪页面。

  5. 要选择定制跟踪动态链接库(DLL),请点击选择 DLL 来显示“选择定制跟踪 dll”对话框,并键入值,如下列示例所示:

    • “文件名称”:test2_dsn
    • “文件类型”:Dynamic link libraries(*.dll)

    选择文件,或在 File_name 文本框中输入文件名称。

  6. 点击打开来显示“跟踪”页面。

  7. 点击确定来保存更改。

制作连接的连接字符串关键字

请使用连接字符串关键字来制作带有或不带有 DSN 以及带有 DRIVER 关键字的连接。

下表罗列可在制作连接中使用的连接字符串关键字:

关键字简短版本
CLIENT_LOCALECLOC
CONNECTDATABASECONDB
CURSORBEHAVIORCURB
DATABASEDB
DB_LOCALEDLOC
DESCRIBEDECIMALFLOATPOINTDDFP
DESCRIPTIONDESC
DONOTUSELVARCHARDNL
DRIVERDRIVER
DSNDSN
ENABLEINSERTCURSORSICUR
ENABLESCROLLABLECURSORSSCUR
EXCLUSIVEXCL
FETCHBUFFERSIZEFBC
FILEDSNFILEDSN
HOSTHOST
NEEDODBCTYPESONLYODTYP
OPTIMIZEAUTOCOMMITOAC
OPTIONSOPT
OPTOFCOPTOFC
PWDPWD
REPORTCHARCOLASWIDECHARCOLRCWC
REPORTKEYSETCURSORSRKC
SAVEFILESAVEFILE
SERVERSRVR
SERVICESERV
SINGLETHREADEDSINGLETH
SKIPPARSINGSKIPP
TRANSLATIONDLLTDLL
TRANSLATIONOPTIONTOPT
UIDUID

DSN 迁移工具

可通过创建带有 .ini 扩展名的文本文件,来使用 DSN 迁移工具。

要使用与 GBase 8s ODBC Driver 在一起的 DSN 迁移工具 dsnmigrate.exe,请创建扩展名为 .ini 的文本文件;然后输入您想要迁移或恢复的 DSN 的名称和值。迁移日志文件位于 %GBS_HOME%\release\dsnMigr.log 中。恢复信息位于 %GBS_HOME%\release\dsnMigr.sav 中。

下列限制适用:

  • 仅可由创建用户 DSN 的用户使用或迁移该 DSN。
  • 系统的所有用户都可使用系统 DSN。
  • 文件 DSN 需要对该文件的写权限。

设置和使用 DSN 迁移工具

以文本编辑器创建文本文件,来设置和使用 DSN 迁移工具。

要设置和使用 DSN 迁移工具,请:

  1. 打开文本编辑器,并以 .ini 扩展名来创建文本文件。

  2. 在文件中,为要修改的每一 DSN 类型(用户、系统和文件)创建一个部分。

  3. 在每一部分中独立的行上,通过使用下列格式来指定您的 DSN:

    DSNname=drivername

    drivername 必须为 GBase 8s ODBC DRIVER

  4. 要运行 dsnmigrate.exe,请使用下列命令:

    dsnMigrate -f filename

    在此,filename 是在步骤 1 中创建的文本文件的名称

DSN 迁移工具示例

该 DSN 迁移工具示例说明迁移至 GBase 8s ODBC Driver 的各种 DSN。

在下列示例中,名为 Test1 的 DSN 迁移至 GBase 8s ODBC DRIVER, 名为 Test2 的 DSN 迁移至 GBase 8s ODBC DRIVER。两个 DSN 都限定于创建它们的用户。

   [User DSN]
Test1=GBase 8s ODBC DRIVER
Test2=GBase 8s ODBC DRIVER

在第二个示例中,名为 Test3 的 DSN 迁移至 GBase 8s ODBC DRIVER,名为 Test4 的 DSN 迁移至它的原始 DSN。系统的所有用户都可使用这两个 DSN。迁移这些系统 DSN 的用户必须拥有修改 ODBC 系统 DSN 注册表条目的许可。

   [System DSN]
Test3=GBase 8s ODBC DRIVER
Test4=restore

在第三个示例中,名为 test5.dsntest6.dsn 的两个文件 DSN 迁移至 GBase 8s ODBC DRIVER。

   [File DSN]
C:\Program Files\ODBC\Data Sources\test5.dsn=GBase 8s ODBC DRIVER
C:\Program Files\ODBC\Data Sources\test6.dsn=GBase 8s ODBC DRIVER