我必须将所有Oracle脚本迁移到DB2数据库。
无论如何,我面对这个问题:
BEGIN
INSERT INTO COOP(
CCOOP,
NDOCTO,
ICOOP)
VALUES (
ps_iPkCooperativa ,
v_xDocumentoCooperativa,
v_xNomeCooperativa);
COMMIT;
EXCEPTION
WHEN OTHERS THEN
ROLLBACK;
RAISE_APPLICATION_ERROR(-20101, (' GPRS6002 - ERRO: ' || SQLERRM || ' - ' || DBMS_UTILITY.FORMAT_ERROR_BACKTRACE));
我不知道如何在DB2数据库上使用 DBMS_UTILITY.FORMAT_ERROR_BACKTRACE 。
有些人可以帮帮我吗?答案 0 :(得分:0)
在要求Db2帮助时,请始终发布您的Db2版本和服务器平台,因为答案取决于此信息。
此例程在Linux / Unix / Windows上的Db2 V11.1和V10.5(最新修订包)中提供。文档为here。
如果您在LUW(或最新版本的10.5版本)上运行Db2 V11.1,并且在创建数据库之前按照启用Oracle兼容模式的说明进行操作,那么RAISE_APPLICATION_ERROR和FORMAT_ERROR_BACKTRACE例程可用,Oracle脚本可以运行,只需要很少的更改。有时不需要进行任何更改,这取决于每个脚本。
但只有正确遵循IBM在Db2知识中心中记录的说明,才有可能实现这一点。如果尚未针对Oracle兼容模式正确配置Db2 LUW,则此Oracle仿真不可用。