GBASE南大通用技术分享:
GBase JDBC API 实现要点
GBASE南大通用数据库GBase JDBC 通过了 Sun's JDBC 兼容性测试套件中的测试。然而,在许多 地方,关于如何实现特定功能,JDBC 规范并没有给出明确的规定,因此存在一 定程度的实现上的灵活性。
CallableStatement
当通过 CallableStatement 接口连接 GBase 时,支持存储过程,不支持函 数,函数可以通过 PreparedStatemen 调用。
Clob Clob
实例不允许修改(它们是复本,就像 DatabaseMetaData.locatorsUpdateCopies()方法所指明的那样)。因此,用户 可以使用对应的 PreparedStatement.setClob() 方法把变化保存回数据库。 GBase JDBC API 没有提供 ResultSet.updateClob()支持。
Connection
按照 JDBC 规范,如果在这个连接上调用了 closed(),那么它只返回 true。 如果用户需要确定这个连接是否还有效,用户应该使用一个简单的查询,如 SELECT 1。如果连接已不再有效的话,驱动会抛出一个异常。
在 GBase 8a JDBC8.3.81.x 版本之后在 jdk1.6 及以上环境中运行时,可以 调用 boolean isValid(int timeout)方法来检查一个连接是否是有效。
DatabaseMetaData
DatabaseMetaData 提供数据库的结构信息。
外键信息(getImportedKeys、getExportedKeys()和 getCrossReference()) 仅仅对 GsDB 类型的表有效,但是驱动是通过 SHOW CREATE TABLE 来获取相关信 息的,所以当其他存储引擎支持外键,驱动程序同样能支持他们。
Driver
使用 Class.forName("com.gbase.jdbc.Driver")加载驱动,在使用 GBase 8a 8.3.81.x 版本的 JDBC 驱动(jre1.6 及以上版本)时可以省去注册驱动,由 java 虚拟机自动完整驱动注册。