oracle SQL Developer调试器未单步执行匿名块中的内容

jbose2ul  于 2022-11-03  发布在  Oracle
关注(0)|答案(1)|浏览(227)

我正在尝试调试PLSQL中的匿名代码块。

DECLARE
    l_pls   PLS_INTEGER;
BEGIN
    NULL;
    l_pls := 2222222222;
EXCEPTION
    WHEN OTHERS THEN
        dbms_output.put_line(dbms_utility.format_error_backtrace);
        dbms_output.put_line(dbms_utility.format_error_stack);
        dbms_output.put_line(sqlerrm);
END;

但是,当按CTRL+SHIFT+F10时(在tools-preferences-debugger中选择了单步执行选项之后),调试器不会在第一行停止等待,而是执行该块。

Connecting to the database RBIP.
Executing PL/SQL: CALL DBMS_DEBUG_JDWP.CONNECT_TCP( 'XX.XX.XX.XX', 'XXXXX' )
Debugger accepted connection from database on port XXXXX.
Executing PL/SQL: CALL DBMS_DEBUG_JDWP.DISCONNECT()
ORA-06512: at line 5
ORA-01426: numeric overflow
ORA-01426: numeric overflow
Process exited.
Disconnecting from the database RBIP.
Debugger disconnected from database.

如何使调试器工作?

tv6aics1

tv6aics11#

错误为
ORA-01426:数字溢出
PLS_INTEGER数据类型的最大值为2,147,483,647(2^31 - 1)。
使用NUMBER数据类型。

相关问题