返回首页

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

更新日期:2024年09月11日

功能说明
提供当前实例中所有数据库的信息,show databases 的结果获取于此。
表结构说明
表5- 232 表结构信息说明:




CATALOG_NAME
登记目录名
VC_NAME
所属虚拟集群名
SCHEMA_NAME
数据库名
DEFAULT_CHARACTER_SET_N
AME
默认字符集名
DEFAULT_COLLATION_NAME
默认校对名
SQL_PATH
NULL

GBase 8a MPP Cluster 产品手册
5 数据库管理指南
文档版本953(2022-09-15)
南大通用数据技术股份有限公司
1472
MIRROR_VC_NAME
镜像虚拟集群名,没有则为空

对于GBase JDBC ,JDBC URL 的格式如下,方括号([, ])里的项是可选的:
jdbc:gbase://[host][,failoverhost...][:port]/[database][?propertyName1][=propertyValue1][&propertyNa
me2][=propertyValue2]...
如果没有指定主机名,
那么缺省值为
“localhost”

如果没有指定端口,
缺省为
“5258”


GBase UP 产品手册 6 应用开发指南
文档版本04(2021-04-21) 南大通用数据技术股份有限公司 1003
这也是GBase 服务器的缺省端口号。
jdbc:gbase://[host:port],[host:port].../[database][?propertyName1][=propertyValue1][&propertyName2]
[=propertyValue2]...
如果没有指定数据库,这个连接将没有'当前'数据库。这种情况下,用户需要在连
接实例上调用setCatalog()方法,或者在SQL 中使用数据库名完整指定表名(即
'SELECT dbname.tablename.colname FROM dbname.tablename...')。不指定连接使用
的数据库,
只用在建立的连接需要使用多个库的工具时才有用,
如GUI 数据库管理
器。

示例:
Class.forName("com.gbase.jdbc.Driver");
java.sql.Connection con = DriverManager.getConnection("jdbc:gbase:///", "user", "password");
Statement st = con.createStatement();
ResultSet rs = st.executQuery(select test.testTbale.* from test.testTbale);
或者
Class.forName("com.gbase.jdbc.Driver");
java.sql.Connection con = DriverManager.getConnection("jdbc:gbase:///", "user", "password");
con.setCatalog("test");
Statement st = con.createStatement();
ResultSet rs = st.executQuery(select * from testTbale);
该示例查询了test 数据库中的testTbale 表的全部列数据。
GBase JDBC 支持故障切换。这允许驱动程序切换到“从”主机并继续执行只读的
查询。仅当连接处在autoCommit(true)状态时,才会发生故障切换,因为当一个事
务正在进行时,无法保障可靠的故障切换。大多数应用服务器和连接池会在事务/
连接结束后把autoCommit 置为true。
故障切换功能具有如下行为方式:

如果URL 属性
“autoReconnect”
为false:
故障切换只会发生在连接初始化时,
当驱动程序确定第一个主机再次可用时,将返回。

如果URL 属性“autoReconnect”为true: 当驱动程序确定连接已经失败(在进
行任何查询之前)时会发生故障切换,
当驱动程序确定第一台主机再次可用
(在
使用queriesBeforeRetryMaster 查询之后)时,将返回第一台主机。

在任何一种情况下,当你连接到经过故障切换的服务器时,会将连接设置为只
读状态,
因此,
对于会更改数据的查询来说,
将抛出异常
(这种查询GBase server
不会处理)。
属性配置定义了GBase JDBC 将会如何连接到一个GBase server 上。除非有其它说
明,否则可以为DataSource 对象和Connection 对象设置属性。
配置属性可以通过下列任意一种方式来设置:

GBase UP 产品手册 6 应用开发指南
文档版本04(2021-04-21) 南大通用数据技术股份有限公司 1004

在java.sql.DataSource 的GBase 实例上使用set*()方法:
com.gbase.jdbc.jdbc2.optional.GBaseDataSource
com.gbase.jdbc.jdbc2.optional.GBaseConnectionPoolDataSource


java.util.Properties
实例中,作为一个键/ 值对传给
DriverManager.getConnection() 或 Driver.connect()

在赋给java.sql.DriverManager.getConnection() 、java.sql.Driver.connect() 或
javax.sql.DataSource's setURL()方法的 GBase 实例的URL 中,作为一个JDBC
URL 变量。
示例:
Class.forName("com.gbase.jdbc.Driver");
GBaseDataSource ds = new GBaseDataSource();
ds.setUrl("jdbc:gbase://localhost:5258/test");
ds.setUser("user");
ds.setPassword("password");
java.sql.Connection con = ds.getConnection();
Statement st = con.createStatement();
ResultSet rs = st.executQuery(select c_custkey from customer);
说明
如果用户用来配置一个JDBC URL 的方法是基于XML 的,
那么用户需要使用XML 特征字
符& 来分开配置参数,“&”是XML 的保留字符。
使用GBase JDBC 驱动创建连接时可以设定的属性如下表格所示:
表 6-3 创建连接时可以设定的属性
名称
定义
默认值
连接/验证
user
连接时使用的用户

password
连接时使用的密码

socketFactory
驱动程序用于创建到服务器的socket 连接的类
名。
这个类必须执行com.gbase.jdbc.SocketFactory
接口且必须有公共无参数的构造函数。
com.gbase.jdbc.
Standard
SocketFactory
connectTimeout
socket 连接的超时(单位毫秒),如果是0 表示
没有超时。在JDK-1.4 或更新版本下才能使用。
默认为0。
0
(通过socket 连接
进行读写操作时这
两个参数才起作
用。如果不设置,
网络突然断开时,
读数据会处在等待

GBase UP 产品手册 6 应用开发指南
文档版本04(2021-04-21) 南大通用数据技术股份有限公司 1005
名称
定义
默认值
状态。)
socketTimeout
网络socket 操作的超时(默认为0,意味着无超
时)
0
useConfigs
在解析URL 或这接受用户指定的属性之前,
加载
使用逗号分割的配置属性。这些配置在参数配置
文档中有解释。
根据配置文件初始
化参数
propertiesTransform


com.gbase.jdbc.ConnectionPropertiesTransform 的
实施实例,在尝试连接前,驱动用来修改传递进
来的URL 属性。
parseURL 方法会建
立该对象修改参数
useCompression
在和服务器通信时是否使用
zlib 压缩
(true/false),默认为false。
false
IsCheckProperty
创建连接前是否验证url 参数的合法性,如果参
数名称不正确,将直接报错退出。
true
vcName
设置虚拟集群名称。如果集群支持虚拟集群,必
须通过该参数指定默认的虚拟集群名称

高可靠性和集群
resourceId
全局独一无二的资源号,用来标识数据源或数据
库连接可以连接到的资源机器。

failoverEnable
8a 集群使用,创建连接时,如果集群当前集群节
点不可用,是否自动路由到下一个可用的节点。
默认为false;
false
hostList
8a 集群使用,当failoverEnable=true 的情况下生
效。记录集群中节点的IP 以逗号分隔。
例:集群三个节点

SQLSetConnectOption 设置管理连接方面的选项。
下表描述了 SQLSetConnectOption 的 SQLSTATE 和错误消息。
SQLSTATE
错误值
错误消息
01000
-11001
General warning
01S02
-11007
Option value changed
08002
-11016
Connection in use
08003
-11017
Connection not open
08S01
-11020
Communication-link failure
IM009
-11048
Unable to load translation shared library (DLL)
S1000
-11060
General error
S1001
-11061
Memory-allocation failure
S1009
-11066
Invalid argument value
S1010
-11067
Function-sequence error
S1011
-11068
Operation invalid at this time
S1092
-11073
Option type out of range
S1C00
-11092
Driver not capable
08S01
-11301
A protocol error has been detected. Current connection is
closed.
S1000
-11320
Syntax error
S1000
-11323
The statement contained an escape clause not supported
by this database driver
当 fOption 是语句选项时,
SQLSetConnectOption 可以返回 SQLSetStmtOption 返回的任何
SQLSTATE。