返回首页

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

更新日期:2024年09月11日

硬件要求
监控网站、采集中心、采集代理、资源库各个组件,对硬件的最低要求如
下,根据现场实际业务及部署场景,需要对硬件资源是否符合部署要求进行综
合评估:

统一数据平台监控与运维系统用户手册
- 4 -
南大通用数据技术股份有限公司
表格1- 1 硬件要求
硬件
最低要求
CPU
4 核CPU
内存(RAM)
至少8GB
硬盘空间
至少500GB
监视器
支持命令行即可
定位设备
键盘
CD-ROM 驱动器
需要
2 统一监控部署

GBase 8s JDBC Driver 的滚动游标特性遵循 JDBC 3.0 规范,有这些例外:
滚动灵敏性

GBase 8s JDBC Driver 程序员指南
南大通用数据技术股份有限公司
- 67 -
滚动游标的 GBase 8s 数据库服务器实现将访存的行置于临时表中。如果另一进程更改原始
表中的一行(假定未锁定该行),且再次访存该行,则这些更改对于客户机是不可见的。
此行为类似于 JDBC 3.0 规范中的 SCROLL_INSENSITIVE 描述。GBase 8s JDBC
Driver 不支持 SCROLL_SENSITIVE 游标。要看到更新了的行,客户机应用程序必须关闭
并重新打开该游标。
客户机侧滚动
JDBC 规范表明,可在客户机侧结果集上发生滚动。GBase 8s JDBC Driver 仅支持结果集的
滚动达到数据库服务器支持滚动的程度。
结果集可更新性
对于产生可更新的结果集的 SQL 查询,JDBC 3.0 API 不提供严格的规范。通常,满足下
列条件的查询可产生可更新的结果集:

该查询仅引用数据库中的单个表。

该查询不包含任何 JOIN 操作。

该查询选择它引用的表的主键。

选择列表中的每个值表达式都必须由列规范组成,且没有列规范可出现多次。

表表达式的 WHERE 子句不可包括子查询。
GBase 8s JDBC Driver 放松对主键的要求,因为该驱动程序执行下列操作:
1.
驱动程序查找称为 ROWID 的列。
2.
驱动程序在表中查找 SERIAL、SERIAL8 或 BIGSERIAL 列。
3.
驱动程序在系统目录中查找表主键。
如果这些都不提供,则驱动程序返回错误。
当您删除结果集中一行时,
会影响 ResultSet.absolute() 方法,
因为在删除之后行的位置更改
了。
当查询包含 SERIAL 列,
且在多行中复制该数据时,
则 updateRow() 或 deleteRow() 的执行
会影响包含该数据的所有行。
ScrollCursor.java 示例文件展示如何检索带有滚动游标的结果集。要了解如何使用可更新的
可滚动游标的示例,
请参阅UpdateCursor1.java、
UpdateCursor2.java 和 UpdateCursor3.java 文
件。


GBase UP 产品手册 6 应用开发指南
文档版本04(2021-04-21) 南大通用数据技术股份有限公司 1293
此类可以操作GBase Server 数据库资源,执行DML/DDL 语句,调用存储过程,获
取结果集功能。
属性
description
此属性用来描述执行SQL 查询后的结果集列信息,以LIST 方式存储,并包含以下
数据内容。
 name:列名
 code:列类型编码
 display_size:None
 internal_size:None
 precision:None
 scale:None
 null_ok:是否为空
 column_flags 列属性flag 集
表6-15 host 属性
类型

默认值
可读写
list
结果集列信息列表,列表
中为元组,存储上述描述
的内容。
None
read

code 字段的取值如下表6-16 所示

类型名
1
tinyint
2
smallint
3
int
4
float
5
double
7
timestamp
8
bigint
10
date
11
time
12
datetime
246
decimal
246
numeric
252
text
252
blob

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

类型名
253
varchar
254
char

column_flags 字段取值如下表6-17

含义
1
NOT_NULL_FLAG,Field can't be NULL
2
PRI_KEY_FLAG,Field is part of a primary key
4
UNIQUE_KEY_FLAG,Field is part of a unique key
8
MULTIPLE_KEY_FLAG,Field is part of a key
16
BLOB_FLAG,Field is a blob
32
UNSIGNED_FLAG,Field is unsigned
64
ZEROFILL_FLAG,Field is zerofill
128
BINARY_FLAG,Field is binary
256
ENUM_FLAG,field is an enum
512
AUTO_INCREMENT_FLAG,field is a autoincrement field
1024
TIMESTAMP_FLAG,Field is a timestamp
2048
SET_FLAG,field is a set
4096
NO_DEFAULT_VALUE_FLAG,Field doesn't have default value
8192
ON_UPDATE_NOW_FLAG,Field is set to NOW on UPDATE
32768
NUM_FLAG,Field is num (for clients)
16384
PART_KEY_FLAG,Intern; Part of some key
rowcount
此属性用来描述SQL 查询结果后的结果集行数量,或者为UPDATE、DELETE、
INSERT 后影响的数据行数。
表6-18 rowcount 属性
类型

默认值
可读写
int
行数
-1
read
arraysize
此属性使用fetchmany 获取结果集大小,fetchmany 的size 参数为None 时生效。
表6-19 arraysize 属性
类型

默认值
可读写
int
结果集行数
-1
read/write

GBase UP 产品手册 6 应用开发指南
文档版本04(2021-04-21) 南大通用数据技术股份有限公司 1295
info
当执行INSERT、UPDATE、ALTER TABLE、CREATE INDEX、DROP INDEX、
MERGE 和LOAD 语句后,数据库会以字符串形式返回info 信息,info 属性功能同
CAPI 的gbase_info 方法,用以获取该字符串。
表6-20 info 属性
类型

默认值
可读写
string
数据库返回的信息
“”
read
方法
GBaseCursor
GBaseCursor 类构造函数。
表6-21 GBaseCursor 属性
函数名称
返回值
返回值类型
函数参数
参数含义
GBaseCursor
instance
GBaseCursor
connection
(GBaseConnection)
与GBase Server
已经建立连接的
GBaseConnection
对象。
样例代码
code
from GBaseConnector import connect
config = {'host' : '172.16.3.10',
'port' : 5258,
'user' : 'gbase',
'password' : 'gbase20110531',
'database' : 'test'}
conn = connect(**config)
cur = conn.cursor()
conn.close()
execute
该方法用来执行单条或多条DML/DDL 语句,如果为多条语句则返回迭代器,否则
返回None。
表6-22 GBaseCursor 属性

GBase UP 产品手册 6 应用开发指南
文档版本04(2021-04-21) 南大通用数据技术股份有限公司 1296
函数名称
返回值
返回值类型
函数参数
参数含义
execute
多语句迭
代器
如果multi_stmt 为
false,返回None,
否则返回iterator
1.operation(string)
2.params(tuple)
3.multi_stmt(bool)
1.要执行的SQL 语句
2.SQL 语句参数
3.是否为多条SQL 语句
样例代码
code1
from GBaseConnector import connect
config = {'host' : '172.16.3.10',
'port' : 5258,
'user' : 'gbase',
'password' : 'gbase20110531',
'database' : 'test'}
conn = connect(**config)
cur = conn.cursor()
operation = "SELECT 1; INSERT INTO test VALUES(1,'a'); SELECT 2"
for result in cur.execute(operation,multi_stmt=True):
if result.has_rows:
print result.fetchall()
else:
print 'no result set'
conn.close()

code 2
from GBaseConnector import connect
config = {'host' : '172.16.3.10',
'port' : 5258,
'user' : 'gbase',
'password' : 'gbase20110531',
'database' : 'test'}
conn = connect(**config)
cur = conn.cursor()
operation = "INSERT INTO test VALUES(%s,%s)"
cur.execute(operation,(1,'a'))
conn.close()

GBase UP 产品手册 6 应用开发指南
文档版本04(2021-04-21) 南大通用数据技术股份有限公司 1297
executemany
批量执行多条SQL 语句,并针对insert 语句进行优化执行。
表6-23 executemany 属性
函数名称
返回值
返回值类型
函数参数
参数含义
executemany


1.operation(string)
2.seq_of_params(list)
1.SQL 语句
2.SQL 语句参数LIST
样例代码
code
from GBaseConnector import connect
config = {'host' : '172.16.3.10',
'port' : 5258,
'user' : 'gbase',
'password' : 'gbase20110531',
'database' : 'test'}
conn = connect(**config)
cur = conn.cursor()
operation = "INSERT INTO test VALUES(%s,%s)"
cur.executemany(operation, [(1,'a'),(2,'b')])
conn.close()
callproc
执行存储过程。可执行带out 参数的存储过程。
表6-24 callproc 属性
函数名称
返回值
返回值类型
函数参数
参数含义
callproc
游标类
型迭代

iterator
1.procname(string)
2.params(tuple)
1.存储过程名
2.存储过程参数列表
样例代码
code 1(不带OUT 参数)
DELIMITER |
CREATE PROCEDURE `test`.`test_proc`(in id int, in name varchar(50))
BEGIN

select id,name;
END |
from GBaseConnector import connect

GBase UP 产品手册 6 应用开发指南
文档版本04(2021-04-21) 南大通用数据技术股份有限公司 1298
config = {'host' : '172.16.3.10',
'port' : 5258,
'user' : 'gbase',
'password' : 'gbase20110531',
'database' : 'test'}
conn = connect(**config)
cur = conn.cursor()
res = cur.callproc("test_proc", (1,'test'))
for rs in res:
print rs.fetchall()
conn.close()

code 2(带OUT 参数)
CREATE PROCEDURE `test`.`test_proc`(OUT param_name int)
BEGIN

set param_name = 100;
END |
from GBaseConnector import connect
config = {'host' : '172.16.3.10',
'port' : 5258,
'user' : 'gbase',
'password' : 'gbase20110531',
'database' : 'test'}
conn = connect(**config)
cur = conn.cursor()
for rs in cur.callproc('test_proc', ('',)):
pass
print cur.save_param_val()
conn.close()
save_param_val
获取存储过程输出参数。
表6-25 save_param_val 属性
函数名称
返回值
返回值类型
函数参数
参数含义
Save_param_val
返回callproc 函数返回
OUT 参数值
LIST



GBase UP 产品手册 6 应用开发指南
文档版本04(2021-04-21) 南大通用数据技术股份有限公司 1299
样例代码
code
参考7.6.6.2.2.4 的code2
fetchone
该方法在执行SQL 查询语句后,获取一行结果集。
表6-26 fetchone 属性
函数名称
返回值
返回值类型
函数参数
参数含义
fetchone
包含一行结果集的元组
tuple


样例代码
code
from GBaseConnector import connect
config = {'host' : '172.16.3.10',
'port' : 5258,
'user' : 'gbase',
'password' : 'gbase20110531',
'database' : 'test'}
conn = connect(**config)
cur = conn.cursor()
cur.execute("select * from test")
print cur.fetchone()
conn.close()
fetchmany
该方法在执行SQL 查询语句后,获取多行结果集。
表6-27 fetchmany 属性
函数名称
返回值
返回值类型
函数参数
参数含义
fetchmany
结果集
LIST
list
size(int)
size 如果为None,则返回
arraysize 行数据;
否则返回size
行数据。
样例代码
code
from GBaseConnector import connect

GBase UP 产品手册 6 应用开发指南
文档版本04(2021-04-21) 南大通用数据技术股份有限公司 1300
config = {'host' : '172.16.3.10',
'port' : 5258,
'user' : 'gbase',
'password' : 'gbase20110531',
'database' : 'test'}
conn = connect(**config)
cur = conn.cursor()
cur.execute("select * from test")
print cur.fetchmany(2)
conn.close()
fetchall
该方法在执行SQL 查询语句后,获取所有行结果集。
表6-28 fetchmany 属性
函数名称
返回值
返回值类型
函数参数
参数含义
fetchall
结果集LIST
list


样例代码
code
from GBaseConnector import connect
config = {'host' : '172.16.3.10',
'port' : 5258,
'user' : 'gbase',
'password' : 'gbase20110531',
'database' : 'test'}
conn = connect(**config)
cur = conn.cursor()
cur.execute("select * from test")
print cur.fetchall()
conn.close()
nextset
该方法在执行多条SQL 查询语句,且只需要多个查询结果中的一个时,可通过该方
法跳过其他结果集,从而简化结果集获取过程。
表6-29 nextset 属性

GBase UP 产品手册 6 应用开发指南
文档版本04(2021-04-21) 南大通用数据技术股份有限公司 1301
函数名称
返回值
返回值类型
函数参数
参数含义
nextset
如果没有更多的结果集,这
个方法返回None。
否则将返
回true。
bool
None
next_numbe
r
跳过结果集的数量
样例代码
code
from GBaseConnector import connect
config = {'host' : '172.16.3.10',
'port' : 5258,
'user' : 'gbase',
'password' : 'gbase20110531',
'database' : 'test'}
conn = connect(**config)
cur = conn.cursor()
cur.execute("select 1;select 2;select * from test",multi_stmt=True)
cur.nextset(2)
print cur.fetchall()
conn.close()

close
该方法在游标对象使用完成后,可以调用此方法关闭游标对象,并释放资源。
表6-30 close 属性
函数名称
返回值
返回值类型
函数参数
参数含义
close
返回执行成功或者失败
的状态
bool


样例代码
code
from GBaseConnector import connect
config = {'host' : '172.16.3.10',
'port' : 5258,
'user' : 'gbase',
'password' : 'gbase20110531',
'database' : 'test'}
conn = connect(**config)

GBase UP 产品手册 6 应用开发指南
文档版本04(2021-04-21) 南大通用数据技术股份有限公司 1302
cur = conn.cursor()
cur.execute("select * from test")
print cur.fetchall()
cur.close()
conn.close()