为提高效率,提问时请提供以下信息,问题描述清晰可优先响应。
【DM版本】:DM Database Sever 64 V8 DB VERSION 0x7000c
【操作系统】:red hat enterprise linux server release 6.6
【CPU】: x64
【问题描述】:
1、数据库连接成功以后 ,会 打印一行
load dmxai fail
这是为什么?
2、 test_ora.pc 例子中 这句话是编译不过的
sqlnul(&(select_p->T[i]), &(select_p->T[i]), &null_ok);//检查类型是否为空
改成了
sqlnul((udint)&(select_p->T[i]), (udint*)&(select_p->T[i]), &null_ok);
不知是否正确。
3、 test_ora.pc 例子中
EXEC SQL INSERT INTO TEST_ORA VALUES(1,2);
EXEC SQL INSERT INTO TEST_ORA VALUES(1,4);
没有 EXEC SQL COMMIT ,数据没有插入,
会导致后面查询都是空的。
4、test_ora.pc 例子中
实际数据已经插入,在DM管理工具中已经可以查询到,但是,在后面的例子中无法打印出来。其打印内容都是空的?
1、第一个问题load dmxai fail
这个是dpc工具在初始化的时候,加载dmxai.dll(linux上libdmxai.so)动态库失败。
该动态支持xa分布式事务,如果未用到xa相关的,该动态库加载失败不影响其使用。
2、sqlnul(&(select_p->T[i]), &(select_p->T[i]), &null_ok);这条语句编译不过
是dpc_new编译不通过还是vs中编译C报错。dpc_new的命令是什么?数据库和proc*c的分别使用的什么版本?
这边使用V8 03134283890-20220621-163174-10045验证是正常的,没有报错。
3、第三个和第四个问题,都正常,结果集可以打印出来。

4、附录《test_ora.txt》示例
test_ora.txt