为什么在Oracle Pro * C中没有声明Cursor返回sqlca.sqlcode?

时间:2017-11-03 16:22:15

标签: c oracle cursor oracle-pro-c

最近,我对我的程序中的错误感到困惑,如我在其他问题中所述:Strange Cursor behavior while declaring same cursor multiple times

在使用了很多printf等时,我发现:

EXEC SQL Declare abc Cursor for select..不会更改/返回sqlca.sqlcode

EXEC SQL Open abc;..返回sqlca.sqlcode

EXEC SQL Fetch abc into .. ; ..返回sqlca.sqlcode

EXEC SQL Close abc; ..返回sqlca.sqlcode

EXEC SQL Commit; ..返回sqlca.sqlcode

我想了解为什么声明没有返回任何代码,因为我们正在使用EXEC SQL声明&我以为EXEC SQL总是会返回sqlca.sqlcode

此外,是否有任何Oracle Pro * C文档可以解释所有这些内容?

提前致谢。

1 个答案:

答案 0 :(得分:0)

根据Oracle's documentation on DEF_SQLCODE,所描述的行为似乎是一个错误;如果您在代码中设置了myscript.py#include <sqlqca.h>并设置了EXEC SQL INCLUDE SQLCA;,那么它应该已经返回了代码。

他们的documentation on handling runtime errors可能有用。