返回首页

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

更新日期:2024年09月11日

该配置文件中给出的是连接数据库时所需要的相关参数,其格式如下:
GBase8t_utf-8=;NEWCODESET=utf-8,utf8,57372;CLIENT_LOCALE=zh_cn.utf8;DB_LOCALE=zh_cn.
utf8;
配置内容以键值对形式存在,其中键名规则为:
“数据库类型_paramId”
。数据库类型可以参考
DBConnection.xml 中每个连接配置的id 即为数据库类型。
parmaId 为用户自定义的,
在页面下拉
列表中展示时会以该Id 进行排序,
键名勿重复。
参数值即为连接数据库时所需要的参数内容,

意参数字符串要以连接字符开头。

GBase Migration Toolkit 迁移工具用户手册

南大通用数据技术股份有限公司 - 26 -
7 常见问题说明

可以使用 onstat -b 选项显示有关当前正在使用的缓冲区的信息,
包括缓冲池中常驻页的总
数。
语法:

可用缓冲区的最大数量以 ONCONFIG 文件中 BUFFERPOOL 配置参数的 buffers 字段
进行指定。
onstat -b 命令还提供有关已修改缓冲区的数量、缓冲池中常驻页的总数。可用缓冲区的总
数、可用哈希桶的数目以及以字节表示的缓冲区大小(页大小)的摘要信息。
123 modified, 23 resident, 2000 total, 2048 hash buckets, 2048 buffer size.
有关显示所有缓冲区的信息,请使用onstat -B 命令:打印已使用的缓冲区信息。
输出样本

GBase 8s 管理员参考
南大通用数据技术股份有限公司 - 463 -

以下是 onstat -b 命令的输出样本。有关该输出的描述,请参阅 onstat -B 命令:打印已使
用的缓冲区信息。
图: onstat -b 命令输出

在缺省情况下,
所有新的 Connection 对象都处于 autocommit 模式。
当打开 autocommit 模
式时,在发送至数据库服务器的每一语句之后,都自动地执行 COMMIT 语句。要关闭
autocommit 模式,请显式地调用 Connection.setAutoCommit(false)。
当 autocommit 模式关闭时,当将下一语句发送至数据库服务器时,GBase 8s JDBC
Driver 隐式地启动新的事务。此事务持续,直到用户发出 COMMIT 或 ROLLBACK 语句
为止。如果用户通过执行 setAutoCommit(false) 已启动了事务,然后再次调
用 setAutoCommit(false),则现有的事务继续保持不变。在 Java™ 程序删除至数据库或数据
库服务器的连接之前,
它必须通过发出 COMMIT 或 ROLLBACK 语句来显式地终止事务。

在事务期间,如果 Java 程序设置 autocommit 模式为打开,则 GBase 8s JDBC Driver 提交
当前的事务,如果 JDK 是 1.4 版本和后来版本的话。否则,在打开 autocommit 之前,
驱动程序回滚当前事务。
在以日志记录创建了的数据库中,如果将 COMMIT 语句发送至数据库服务器,且
autocommit 模式为打开,则数据库服务器返回错误 -255: Not in transaction,因为当前未启
动用户事务。不管以 Connection.commit() 方法还是直接以 SQL 语句发送了 COMMIT 语
句,都发生此情况。
在以 ANSI 模式创建的数据库中,显式地将 COMMIT 语句发送至数据库服务器,会提交
一个空事务。如果当前没有打开用户事务,则由于数据库服务器在执行语句之前自动地启
动事务,因此,不返回错误。
对于 XAConnection 对象,缺省情况下 autocommit 模式是关闭的,当分布式事务正在发生
时,必须保持关闭。事务管理器执行提交和回滚操作;因此,请避免直接执行这些操作。
对于 GBase 8s,两个 JDBC 类支持在遇到不利事件之后可将 SQL 事务回滚至保存点(而
不是完全取消):

IfmxSavepoint(接口)

IfxSavepoint(Savepoint 类)

GBase 8s JDBC Driver 程序员指南
南大通用数据技术股份有限公司
- 88 -
通过下列标准 JDBC 方法,JDBC 应用程序可创建、删除或回滚到保存点对象:
表 1. JDBC 保存点类和方法

方法
IfxConnection setSavepoint()releaseSavepoint()rollback(savepoint)
IfxSavepoint
getSavepointId()getSavepointName()
这两个方法不可互换。调用 getSavepointName() 会出错失败,除非
以 setSavepoint() 方法的或 setSavepointUnique() 方法的字符
串参数来声明保存点对象。类似地,如果调用命名的保存点对象
的 getSavepointId(),则返回错误。
此外,setSavepointUnique() 方法可设置其标识符为唯一的命名的保存点。当唯一的保存点
是活动的时,如果应用程序尝试在同一连接内重新使用它的名称,则 GBase 8s 发出异常。

下列约束适用于 JDBC 中的保存点对象:

在 XA 事务内,保存点无效。

不可使用保存点,除非当前连接设置 autocommit 模式为关闭。

在至不记录日志的数据库的连接中,保存点无效。

在触发了的活动中不可引用保存点。

在跨服务器的分布式查询中,其中任何参与的从属服务器都不支持保存点对象,在
连接至不支持保存点的服务器之后,如果设置一保存点,则发出警告,且任何
对 rollbacksavepoint 的调用都出错失败。
要获取关于在 SQL 事务中使用保存点的更多信息,
请参阅
《GBase 8s SQL 指南:
语法》

对 SAVEPOINT、RELEASE SAVEPOINT 和 ROLLBACK WORK TO SAVEPOINT 语句
的描述。