返回首页

gbase数据、南大通用产品文档:GBase8sSQLDrivers (仅限一级)

更新日期:2024年09月11日

SQLDrivers 列出驱动程序描述和驱动程序属性关键字。
下表描述了SQLDrivers 的 SQLSTATE 和错误值。
SQLSTATE
错误值
错误消息
01000
-11001
General warning
01004
-11003
Data truncated
S1000
-11060
General error
S1001
-11061
Memory-allocation failure
S1090
-11071
Invalid string or buffer length
S1103
-11083
Direction option out of range

CentOS/RHEL 7.2 或Kylin-Server-20200711 及之后版本的操作系统中,systemd-logind
服务引入一个新特性——RemoveIPC,表现为:用户登录后创建的文件,在logout 后会被自
动删除。该特性由/etc/systemd/logind.conf 参数文件中RemoveIPC 选项来控制。详细信息请
执行man logind.conf(5)命令查看。
当使用默认值(即RemoveIPC=yes)的情况,当用户退出时,操作系统会crash 掉使用
了Shared Memory Segment (SHM) or Semaphores (SEM)的应用程序,导致GBase 8c 数据库
进程将会被中断。
因此在CentOS 7.2+、RHEL 7.2+或Kylin-Server-20200711+操作系统环境中,需检查
RemoveIPC 参数,避免发生此类问题。操作步骤如下:
步骤1 查看RemoveIPC 参数值是否为yes
[root@gbase8c ~]# loginctl show-session | grep RemoveIPC
[root@gbase8c ~]# systemctl show systemd-logind | grep RemoveIPC
如果为yes,则需要修改;如果为no,则无需继续执行后续步骤。
步骤2 修改RemoveIPC 参数值。执行以下操作:

修改/etc/systemd/logind.conf 配置文件
[root@gbase8c ~]# vim /etc/systemd/logind.conf
将RemoveIPC 参数值设置为no,键入“:wq”保存并退出。

修改/usr/lib/systemd/system/systemd-logind.service 配置文件,将RemoveIPC 参数值设置
为no。
[root@gbase8c ~]# vim /usr/lib/systemd/system/systemd-logind.service
将RemoveIPC 参数值设置为no,键入“:wq”保存并退出。
步骤3 重新加载配置文件,执行以下命令:

GBase 8c V5 安装部署手册(简易版)
南大通用数据技术股份有限公司
24
[root@gbase8c ~]# systemctl daemon-reload
[root@gbase8c ~]# systemctl restart systemd-logind
再次检查是否生效即可。

以下示例显示了添加到 SPL 例程 items_pct 中的 TRACE 语句。SET DEBUG FILE TO 语
句将跟踪输出定向至路径名所指定的文件。
TRACE ON 语句开始跟踪过程中的语句和变量。

CREATE PROCEDURE items_pct(mac CHAR(3))
DEFINE tp MONEY;
DEFINE mc_tot MONEY;
DEFINE pct DECIMAL;
SET DEBUG FILE TO 'pathname';

TRACE 'begin trace';
TRACE ON;
LET tp = (SELECT SUM(total_price) FROM items);
LET mc_tot = (SELECT SUM(total_price) FROM items
WHERE manu_code = mac);
LET pct = mc_tot / tp;
IF pct > .10 THEN
RAISE EXCEPTION -745;
END IF
TRACE OFF;
END PROCEDURE;

CREATE TRIGGER items_ins
INSERT ON items
REFERENCING NEW AS post_ins
FOR EACH ROW(EXECUTE PROCEDURE items_pct (post_ins.manu_code));

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