为什么声明游标在 Oracle Pro*C 中不返回 sqlca.sqlcode?



最近,我对程序中的一个错误感到困惑,正如我的另一个问题所说:多次声明同一个光标时出现奇怪的光标行为

在使用了很多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文档可以解释这一切?

提前谢谢。

根据Oracle关于DEF_SQLCODE的文档,所描述的行为似乎是一个错误;如果您在代码中设置了#include <sqlqca.h>EXEC SQL INCLUDE SQLCA;并设置了DEF_SQLCODE=YES,那么它应该返回一个代码。

他们关于处理运行时错误的文档可能很有用。

相关内容

  • 没有找到相关文章

最新更新