1.背景
最近遇到有客户说C语言代码使用ODBC连接Gbase8s的时候,两个数据库,执行同样的代码,一个执行commit成功,一个执行commit的时候报错,但是数据都提交到数据库里了。从数据库里能看到这条insert数据。
2.报错信息
3.查询数据库的日志模式
select name, is_logging, is_case_insens from sysmaster:sysdatabases;
通过结果发现tj_jh 数据库是非日志模式,非日志模式不支持事务。所以我们要将数据库修改为日志模式
4.修改数据库的日志模式
ontape -s -L 0 -B tj_jh -t /dev/null
先将会话连接断开,才能修改成功。
查看是否会话连接:onstat -g ses
如果有会话连接:onmode -z SES_ID ,删掉会话,在执行ontape -s -L 0 -B tj_jh -t /dev/null ;