在 PLSQL Developer 中运行探查器时出现停止探查器错误:结果 = 2

问题描述 投票:0回答:1

启用探查器后,在 PLSQL 开发人员中运行以下代码块时,出现以下错误。你知道其中的原因吗?下面我附上了我使用过的查询。以下查询是我从 AWR 报告中得到的。

DECLARE
    return_array_ Post_Imported_Obj_Trans_Handling_SVC.Number_Arr;
    cursor_ SYS_REFCURSOR;
BEGIN
    return_array_ := Post_Imported_Obj_Trans_Handling_SVC.Do_Make_Accnt_Import_Trans(:1 ,  :2 ,  :3 ,  :4 ,  :5 ,  :6 ,  :7 ,  unbound## => '');
    OPEN cursor_ FOR SELECT * FROM TABLE(return_array_);
    :8  := cursor_;
END;

我在下面附上的错误图像

plsql profiler plsqldeveloper
1个回答
0
投票

您可以通过删除并重新创建相关分析器表来修复此错误。

PL/SQL Developer 通常会检测是否缺少必要的分析表,并会提示您创建它们。此错误意味着可能只有一个表丢失,或者某些列可能是意外的。也许您很久以前在旧版本的 Oracle 或 PL/SQL Developer 上创建了分析表,并且缺少一些新需要的列。

首先,从运行探查器的架构中删除这三个表:

drop table PLSQL_PROFILER_DATA;
drop table PLSQL_PROFILER_UNITS;
drop table PLSQL_PROFILER_RUNS;

接下来,打开一个新的测试窗口,然后单击“创建 Profiler 报告”按钮:

这将打开一个新对话框,要求创建相关表。点击“是”:

现在您应该能够运行探查器了。

© www.soinside.com 2019 - 2024. All rights reserved.