返回首页

gbase数据、南大通用产品文档:GBase8sClassGenerator 实用程序

更新日期:2024年09月11日

对于在系统目录中定义的命名的行类型,
ClassGenerator 实用程序生成 Java™ 类。
该实用程
序是对 JDBC 规范的 GBase 8s 扩展。
创建了的 Java 类实现 java.sql.SQLData 接口。对于命名的行中每一字段,该类都有成员。
按照出现在数据库中命名的行类型定义中的顺序,readSQL()、
writeSQL() 和 SQLData.readSQL() 方法读取属性。类似地,writeSQL() 按该顺序将数据写至
流。
将 ClassGenerator 打包在 ifxtools.jar 文件中,因此,CLASSPATH 环境变量必须指
向 ifxtools.jar。
使用 ClassGenerator 的语法如下:
java ClassGenerator rowtypename [-u URL] [-c classname]
classname 的缺省值是 rowtypename 的值。
如果未指定 URL 参数,则从 home 目录中的 setup.std 文件检索所需的信息。
setup.std 的结构如下:
URL jdbc:host-name:port-number

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

gbasedbtserver gbasedbtservername
database database
user user
passwd password
简单命名的行示例
要使用 ClassGenerator,请首先在数据库服务器上创建命名的行,如此示例中所示:
create row type employee (name char (20), age int);
接下来,运行 ClassGenerator:
java ClassGenerator employee
该类生成器生成 employee.java,如后所示,并从 setup.std 检索数据库 URL 信息,其有下
列内容:
URL jdbc:davinci:1528
database test
user scott
passwd tiger
gbasedbtserver picasso_ius
下列为生成了的 .java 文件:
import java.sql.*;
import java.math.*;
public class employee implements SQLData
{
public String name;
public int age;
private String sql_type;

public String getSQLTypeName() { return "employee"; }

public void readSQL (SQLInput stream, String type) throws
SQLException
{
sql_type = type;
name = stream.readString();
age = stream.readInt();
}


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

public void writeSQL (SQLOutput stream) throws SQLException
{
stream.writeString(name);
stream.writeInt(age);
}
}
嵌套的命名的行示例
对于嵌套的行,要使用 ClassGenerator,请首先在数据库服务器上创建命名的行:
create row type manager (emp employee, salary int);
接下来,运行 ClassGenerator。在此情况下,不查询 setup.std 文件,因为您在命令行提供了
所有需要的信息:
java ClassGenerator manager -c Manager -u "jdbc:davinci:1528/test:user=scott;
password=tiger;gbasedbtserver=picasso_ius"
-c 选项定义您正在创建的 Java™ 类,其为 Manager(带有大写的 M)。
前面的命令生成下列 Java 类:
import java.sql.*;
import java.math.*;
public class Manager implements SQLData
{
public employee emp;
public int salary;
private String sql_type;

public String getSQLTypeName() { return "manager"; }

public void readSQL (SQLInput stream, String type) throws
SQLException
{
sql_type = type;
emp = (employee)stream.readObject();
salary = stream.readInt();
}

public void writeSQL (SQLOutput stream) throws SQLException
{
stream.writeObject(emp);

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

stream.writeInt(salary);
}
}

在安装 Client SDK 或 GBase 8s Connect,或者将客户机应用程序连接到数据
库服务器之前,请先完成适用于您计算机上的 UNIX™ 或 Linux™ 操作系统的准
备步骤。
有关可以安装产品的受支持 UNIX 和 Linux 操作系统的列表,请参阅 GBase 8s 机器
说明。
重要: 以下需求可能会低于系统的需求,这取决于操作系统和环境。
Client SDK 安装需要大约 200 MB 的磁盘空间,GBase 8s Connect 安装需要大约 175
MB 的磁盘空间。
安装需要大约 512 MB RAM。
在 UNIX 或 Linux 上安装之前,
请确保临时目录
(缺省情况下为 /tmp)
中具有 1
GB 的
可用空间。
这样做是为了支持安装介质的解压以及安装程序的运行。
在调用安装程序之
前,可以通过将 IATEMPDIR 环境变量设置为包含足够存储空间的位置来更改此位置。
如果缺省临时位置中的空间不足,安装程序会尝试将信息写入用户帐户的主目录。
注意:
l $GBASEDBTDIR 路径(包含路径分隔符)不能超过 200 个字符。
l Client SDK 不支持 RPM 安装。
提示: 请勿使用 back 或 quit 作为 $GBASEDBTDIR 路径中的字符串,也不要将其用在 UNIX
或 Linux 上的任何 GBase 8s 产品安装配置设置(包括密码)中。

GBase 8s 客户机产品安装指南
南大通用数据技术股份有限公司 - 14 -

使用以下方法在 UNIX 或 Linux 上安装 GBase 8s Client Software Development Kit
(Client SDK)和 GBase 8s Connect:
l 安装应用程序
l 命令行
l GBase 8s 安装程序
同时查看各产品手册,了解本出版物中未涉及的安装和配置任务。
仅按照 GBase 的许可安装 GBase
8s 产品。
在未重新注册且未获 GBase 书面同意的情
况下,不能将软件从一台计算机转移到另一台计算机或网络的其他部分。


统一数据平台监控与运维系统用户手册
南大通用数据技术股份有限公司
- 147 -