之前基于IRIS导出的Sql脚本用JRT的导表脚本执行Sql语句在PostGreSql数据库把IRIS导出的库还原。并且试了模板设计器的打开和保存及打印功能。本次测试IRIS导出的Sql在人大金仓上还原数据库,并且测试模板设计器功能和打印。
首先碰到的一个坑是人大金仓把空串存成NULL了,进入服务器修改配置文件
在配置里面关闭空串转NULL
然后重启数据库
[root@localhost ~]# systemctl status kingbase
● kingbase8d.service - LSB: Start and stop the kingbase server
Loaded: loaded (/etc/rc.d/init.d/kingbase8d; generated)
Active: inactive (dead) since Thu 2024-01-11 11:15:11 CST; 2 weeks 5 days ago
Docs: man:systemd-sysv-generator(8)
Process: 241612 ExecStop=/etc/rc.d/init.d/kingbase8d stop (code=exited, status=0/SUCCESS)
Warning: Journal has been rotated since unit was started. Log output is incomplete or unavailable.
[root@localhost ~]# systemctl stop kingbase
[root@localhost ~]# systemctl start kingbase
Job for kingbase8d.service failed because the control process exited with error code.
See "systemctl status kingbase8d.service" and "journalctl -xe" for details.
[root@localhost ~]#
建立Jbase的数据库和dbo模式
这里改配置之后重启数据库之后还是不生效,需要执行Sql重新载入参数才行
select sys_reload_conf();
载入之后再看配置就是对的
show ora_input_emptystr_isnull;
修改jrt的驱动和连接串
生成导库脚本Sql
启动jrt执行脚本
执行完查看数据库数据是不是正确,因为主键是自增的,这里采用的到数据原理是主键对齐法,生成Sql时候如果RowID空缺就在后面加入插入语句和删除语句来让RowID增长达到对齐目的
解决之后的库就不会把空串当NULL了
测试程序,设计器使用正常
打印报告正常
这就完成了人大金仓的表迁移和程序测试,IRIS、PostGreSql、人大金仓三个库都能正常使用了