返回首页

gbase数据、南大通用产品文档:GBase8sodbcini 文件

更新日期:2024年09月11日

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 文件中包括注释:

GBase 8s ODBC Driver 程序员指南
南大通用数据技术股份有限公司
- 31 -

在第一行的第一个位置,以分号(;)或数字符号(#)来开始注释。

如果注释包括多行,则可以空格或标签字符(\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

GBase 8s ODBC Driver 程序员指南
南大通用数据技术股份有限公司
- 32 -
DONOTUSELVARCHAR=do_not_use_lvarchar
REPORTCHARCOLASWIDECHARCOL=char_col_as_widechar_col
[ODBC]
UNICODE=unicode_type

LENGTHINCHARFORDIAGRECW=bufferlength_as_number_of_characters
LEAVE_TRAILING_SPACES=leave_trailing_spaces
下表描述数据源规范部分中的关键字,以及它们在每一部分中出现的顺序。
关键字
描述
状态
data_source_name
在“数据源”部分指定的数据源
必需的
Driver
驱动程序的路径
将此值设置为驱动程序库的完整路径名称。
要获取关于库目录和文件名称的更多信息,
请参阅发版说明。
必需的
Description
DSN 的描述
为单个用户,或为系统用户配置。
可选的
Database
在缺省情况下 DSN 连接至的数据库
必需的
LogonID
访问 DSN 的用户标识或账户名称
可选的
pwd
访问 DSN 的口令
可选的
Server
database_name 所在的 GBase 8s 数据库服
务器
必需的
CLIENT_LOCALE(仅限于 GLS)
客户机语言环境。缺省值:en_us.8859-1 可选的
DB_LOCALE(仅限于 GLS)
数据库语言环境。缺省值:en_us.8859-1 可选的
TRANSLATIONDLL
(仅限于 GLS)
执行代码集转换的 DLL;缺省值:
$GBASEDBTDIR/lib/esql/ig04a304.xx 在
此,xx 表示特定于平台的文件扩展名
可选的
CURSORBEHAVIOR
当调用提交或回滚事务时,游标行为的标
志。
可能的值为:

0= 关闭游标

1= 保持游标
缺省值:0
可选的
DefaultUDTFetchType
缺省的 UDT 访存类型。
缺省值:SQL_C_BINARY
可能的值为:

SQL_C_BINARY
可选的

GBase 8s ODBC Driver 程序员指南
南大通用数据技术股份有限公司
- 33 -
关键字
描述
状态

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 和
可选的

GBase 8s ODBC Driver 程序员指南
南大通用数据技术股份有限公司
- 34 -
关键字
描述
状态
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
可选的

GBase 8s ODBC Driver 程序员指南
南大通用数据技术股份有限公司
- 35 -
关键字
描述
状态
缺省值为: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(禁用的)
可选的
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 处理


GBase 8s ODBC Driver 程序员指南
南大通用数据技术股份有限公司
- 36 -
关键字
描述
状态
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 的样例数据源可能像下列
示例一样:

GBase 8s ODBC Driver 程序员指南
南大通用数据技术股份有限公司
- 37 -
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 隔离级别。

GetGBaseDateTime 方法 (String)
根据给定的列名称,获取指定列的GBaseDateTime 值。

语法
[Visual Basic]
Public Function GetGBaseDateTime ( _

column As String _
) As GBaseDateTime
[C#]
public GBaseDateTime GetGBaseDateTime(

string column
)

参数
1) column :列名称

语法格式
ALTER TABLE table_name RENAME TO new_table_name;
示例
示例1:修改Hive 表名字
gbase> CREATE TABLE t_hive(stu_n int,name varchar(30))ENGINE = 'HIVE';
Query OK, 0 rows affected
gbase> ALTER TABLE t_hive RENAME TO new_t_hive;
Query OK, 0 rows affected