对 JDBC API 的其他 GBase 8s 扩展
本部分描述在此指南中尚未讨论的对 JDBC API 的特定于 GBase 8s 的扩展。这些扩展处理特定于 GBase 8s 数据库的信息。
在处理错误中,全面地描述另一 GBase 8s 扩展,com.gbasedbt.jdbc.Message 类。
“自动释放”特性
如果启用 GBase 8s“自动释放”特性,则当数据库服务器关闭游标时,它自动释放该游标。
因此,应用程序不必发送两个单独的请求,来关闭然后再释放游标—关闭游标就足够了。
可通过在数据库 URL 中将 IFX_AUTOFREE 变量设置为 TRUE,来启用“自动释放”特性,如此示例所示:
jdbc:gbasedbt-sqli://123.45.67.89:1533:GBASEDBTSERVER=myserver;
user=rdtest;password=test;ifx_autofree=true;
还可使用下列方法之一:
public void setAutoFree (boolean flag)
public boolean getAutoFree()
在 executeQuery() 方法之前,应调用 setAutoFree() 方法,但在 executeQuery() 之前或之后,
都可调用 getAutoFree()。
要使用这些方法,应用程序必须从 GBase 8s 软件包 com.gbasedbt.jdbc 导入这些类,并
将 Statement 类强制转型为 IfmxStatement 类,如下所示:
import com.gbasedbt.jdbc.*;
...
(IfmxStatement)stmt.setAutoFree(true);
获取驱动程序版本信息
有两种获取关于 GBase 8s JDBC Driver 的版本信息的方式: 从 Java™ 程序,或从 UNIX™ 或 MS-DOS 命令提示。
要从 Java 程序取得版本信息,请:
1. 通过将下列行添加至 import 部分,将 GBase 8s 软件包 com.gbasedbt.jdbc.* 导入至Java 程序内:
import com.gbasedbt.jdbc.*;
2. 调用静态方法 Driver.getJDBCVersion()。
此方法返回包含当前 GBase 8s JDBC Driver 的完全版本的 String 对象。
GBase 8s JDBC Driver 版本的一个示例为 2.00.JC1。
Driver.getJDBCVersion() 方法仅返回版本,不返回在驱动程序安装期间提供的序列号。
重要: 对于 GBase 8s JDBC Driver 的版本 X.Y,JDBC API 方
法 Driver.getMajorVersion() 和 DatabaseMetaData.getDriverMajorVersion() 始终返回值 X。类似地,
方法 Driver.getMinorVersion() 和 DatabaseMetaData.getDriverMinorVersion() 始终返回值 Y。
要从命令行取得 GBase 8s JDBC Driver 的版本,请在 UNIX shell 提示或 Windows™ 命令
提示处,输入下列命令:
java com.gbasedbt.jdbc.Version
该命令还返回当您安装驱动程序时提供的序列号。
JDBC驱动新增getObject方法
JDBC驱动新增getObject(int,Class<T>)接口实现。该方法可以通过判断Class类型的具体类型,覆盖了所有目前驱动已经支持的get方法。对于不支持的其他类型,仍然抛出SQLException(IfxErrMsg.S_MTHNSUPP)异常。目前支持的Class类型如下:
String、BigDecimal、Boolean、Byte、Short、Integer、Long、Float、Double、byte[]、java.sql.Date、java.sql.Time、java.sql.Timestamp、java.sql.Clob、java.sql.Blob、java.sql.Array、java.time.LocalDateTime、java.time.LocalDate、java.time.LocalTime




