在使用C进行数据库开发的时候,不可避免要和sqlcode打交道。虽然各家数据库厂商在返回的sqlcode的含义上不够统一,在程序报错时,需要针对不同数据库进行查看。目前工作中经常用的的db2和oracle。
db2 ? sql818 (sqlcode 报错一般是负数 -818,把负号去掉,能提示详细的错误原因)。
oracle方面目前没找到更简洁的办法,目前在用:
begin
dbms_output.put_line(sqlerrm(-1));
end;
(-1是错误代码,换成报错的就可以了)