返回首页

gbase数据、南大通用产品文档:GBase8c常见问题

更新日期:2024年09月11日


在GBase 8c 上建立外表时,不会在Oracle 数据库中同步建表,需要自行在Oracle 数据
库中建表。

执行CREATE USER MAPPING 时使用的Oracle 用户需要有远程连接Oracle 数据库及
对表相关操作的权限。使用外表前,可以在GBase 8c server 所在的机器上,使用Oracle
的客户端,使用对应的用户名密码确认能否成功连接Oracle 并进行操作。

执行CREATE EXTENSION oracle_fdw;时,
报错显示类似
“ERROR: could not load library
“/home/gbase/GBase8cV5_S3.0.0B12/lib/……oracle_fdw.so”: libclntsh.so.21.1: cannot open
shared objeck file: No such file or directory”。原因是Oracle 的开发库libclntsh.so 不在系
统的相关路径中,可以进入客户端目录找到libclntsh.so 的具体路径,然后将其中包含
所需要的依赖包放入每个节点的/lib64 目录下。

查询外部表时报错显示类似“ERROR : error connecting ro Oracle: OCIEnvCreate failed to
create enviroment handle”信息。原因可能是缺少libociei.so、libnuma.so、libndctl.so。
解决方法是将客户端下libociei.so 依赖包复制到/lib64 路径下;
libnuma.so 则需要通过下
载numactl,yum install -y numactl;libndctl.so 需要通过下载ndctl,yum install -y ndctl,
并重启数据库生效。

Statement 对象主要被用来执行 SQL 语句,
它可以运行一个查询语句返回一 个
结果集也可以运行 UPDATE、DELETE 等 SQL 语句。
closeResultSet(ResultSet *rs);关闭一个结果集。 executeQuery();执行一个查询语
句。
executeUpdate();执行 DDL、DML 语句,如:INSERT、UPDATE、DELETE、CREATE
等等。
getAutoCommit();返回是否事务自动提交。
getResultSet();得到一个结果集(ResultSet)。
getSQL();返回当前的 SQL 语句。
getUpdateCount();返回被更新的数量。
setAutoCommit(boolautocommit);设置事务是否自动提交。
setDouble(unsignedintparamindex,double x);赋一个 double 型的值。
setFloat(unsignedintparamindex,float x);赋一个 float 型的值。
setInt(unsignedintparamindex,int x);赋一个 INT 型的值。
setNull(unsigned intparamindex,TYPEtype);某参数设置为空。
setString(unsignedintparamindex,const string &x);赋一个
string 型的值。
setSQL(const string &sql);设置一个 SQL 语句。
Status();返回当前的状态。

参数说明:控制表空间是否可以使用绝对路径。
该参数属于USERSET 类型参数,请参考表15-1 中对应设置方法进行设置。
取值范围:布尔型

on 表示可以使用绝对路径。

off 表示不可以使用绝对路径。
默认值:on