oracle FRM-40735:按下按钮时触发引发未处理的异常 ORA-06502

声明:本页面是StackOverFlow热门问题的中英对照翻译,遵循CC BY-SA 4.0协议,如果您需要使用它,必须同样遵循CC BY-SA许可,注明原文地址和作者信息,同时你必须将它归于原作者(不是我):StackOverFlow 原文地址: http://stackoverflow.com/questions/33125866/
Warning: these are provided under cc-by-sa 4.0 license. You are free to use/share it, But you must attribute it to the original authors (not me): StackOverFlow

提示:将鼠标放在中文语句上可以显示对应的英文。显示中英文
时间:2020-09-19 03:02:54  来源:igfitidea点击:

FRM-40735: When button pressed trigger raised unhandled exception ORA-06502

sqlformsoracleplsql

提问by user3667857

if :entete.carto = 'O' then
    declare
        c_criteres varchar2(240);
    BEGIN
        go_item(:ENTETE.CURRENT_ITEM_PRECEDENT);
        IF :ENTETE.LOX_BE='PTV' THEN
            :global.type_lancement := 'GEOCOD';
            c_criteres := '-jar '|| :entete.empl_jar||'geocodeur.jar '
                                        || :entete.c_user || ' '
                                        || :entete.c_passe || ' '
                                        || :global.connection_string || ' '
                                        || '1 ' -- ecrire dans un fichier en sortie
                                        || '1 ' -- debug
                                        || '1' /*geocod cf*/ || ' '
                                        || :global.chemin_cr || ' '
                                        || :global.utilisateur;
            lancer_executable('javaw',:entete.c_user,:entete.c_passe,
                            :entete.c_noeud,:entete.c_os,'1',c_criteres);
        END IF;
        enter_query;
    END;
end if;

can someone advise about the reason for such an error? I am new to oracle forms and need to figure out why this issue is occuring in order to resolve it.

有人可以就这种错误的原因提出建议吗?我是 oracle 表单的新手,需要弄清楚为什么会出现这个问题才能解决它。

thank you

谢谢你

回答by Moreno

Usually this error is because you are trying to assign a value to a variable or field that is not to big enough. Example

通常这个错误是因为你试图给一个不够大的变量或字段赋值。例子

v_name VARCHAR2(5);

v_name VARCHAR2(5);

After you try to: v_name := 'ABCDEFGHIJK';

在你尝试之后: v_name := 'ABCDEFGHIJK';

The variable's lenght is 5 and you try to assign a string with 10 characters.

变量的长度为 5,您尝试分配一个包含 10 个字符的字符串。

Hope it helps.

希望能帮助到你。