返回首页

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

更新日期:2024年09月11日

接口将所有异常处理类全部封装到了GBaseError.py 文件中,所以当引用
这些异常类时需引用GBaseError.py 文件。所有的错误、异常、警告等内容的
函数名称
返回值
返回值类

函数参数
参数含义
close
返回执行成功
或者失败的状

bool





GBase Python 接口开发手册
南大通用数据技术股份有限公司

- 33 -
错误处理全部经由此文件中的类完成。下图为所有异常类继承关系图。

图表 6-1 GBase Python 异常类继承图


Warning

抛出重要的警告如当正在插入时数据截断等。

Error

错误异常的父类,可以使用Error 捕获所有数据库操作异常。

InterfaceError

相关的数据库接口,不是数据库本身的错误引发的异常。

DatabaseError

代表数据库相关的错误。

OperationError

数据库操作错误,比如数据源未找到,事务无法处理,内存分配错误等。

IntegrityError

GBase Python 接口开发手册


- 34 -

南大通用数据技术股份有限公司

数据完整性不一致错误,比如外键检查错误等。

InternalError

数据库内部错误,比如游标无效(游标关闭后继续调用),事务不同步等。

ProgrammingError

编程错误,比如表不存在,SQL 语法错误等。

NotSupportedError

数据库不支持的错误。
比如在不支持事务的数据库上调用rollback操作等。







在您准备语句之后,您可多次执行它。使用 EXECUTE 语句执行不是 SELECT 语句的那
些语句,以及仅返回一行的 SELECT 语句。
下列 GBase 8s ESQL/C 代码准备并执行银行账户的多语句更新:
EXEC SQL BEGIN DECLARE SECTION;
char bigquery[270] = "begin work;";
EXEC SQL END DECLARE SECTION;
stcat ("update account set balance = balance + ? where ", bigquery);
stcat ("acct_number = ?;', bigquery);
stcat ("update teller set balance = balance + ? where ", bigquery);
stcat ("teller_number = ?;', bigquery);
stcat ("update branch set balance = balance + ? where ", bigquery);
stcat ("branch_number = ?;', bigquery);
stcat ("insert into history values(timestamp, values);", bigquery);

GBase 8s SQL 指南:教程
南大通用数据技术股份有限公司
- 225 -

EXEC SQL prepare bigq from :bigquery;

EXEC SQL execute bigq using :delta, :acct_number, :delta,
:teller_number, :delta, :branch_number;

EXEC SQL commit work;
EXECUTE 语句的 USING 子句提供主变量的列表,以其值替代准备好的语句中的问号。
如果 SELECT
(或 EXECUTE FUNCTION)
仅返回一行,
则您可使用 EXECUTE 的 INTO
子句来指定接收这些值的主变量。

功能说明
记录tablespace 的名称、路径等相关信息。
表结构说明
表5- 266 表结构信息说明:




TABLESPACE_NAME
表空间名
TABLESPACE_PATH
表空间路径
IS_DEFAULT
是否是默认表空间