如何查看 Oracle 中的错误?

Posted

技术标签:

【中文标题】如何查看 Oracle 中的错误?【英文标题】:How to see errors in Oracle? 【发布时间】:2010-01-21 19:14:35 【问题描述】:

尝试在 Oracle 中执行包含两个输入参数的存储过程时出现以下错误:

ORA-06550:第 1 行,第 7 列: PLS-00306:调用中的参数数量或类型错误 'P_GET_NEXT_AVAILABLE_RUN' ORA-06550:第 1 行,第 7 列: PL/SQL:语句被忽略

两个输入参数都需要非空值。我无法单步执行代码,否则我将能够看到哪个值为空 - 所以 - 在 Oracle 中有没有一种方法可以让您看到存储过程生成的错误 - 所以我可以确定哪个参数正在获取空值?

【问题讨论】:

你是如何运行这个程序的?来自 SQL*PLUS、SQLDeveloper、Java 程序……? 【参考方案1】:

错误与空值无关 - PLS 部分说明正在使用的是:

提供错误数量的参数 - 小于或大于预期数量 提供的值的数据类型与参数不匹配

可以是两者之一,也可以是两者的组合。

您能否不使用DBMS_OUTPUT 打印正在尝试的查询和参数,以便您可以与被调用的存储过程的参数进行比较?

【讨论】:

【参考方案2】:

你能修改程序吗?您可以允许空值并以编程方式拒绝它们。

或者你可以用另一个检查参数然后调用有问题的过程来包装你的过程。

【讨论】:

以上是关于如何查看 Oracle 中的错误?的主要内容,如果未能解决你的问题,请参考以下文章

oracle 如何查看日志?

如何查看ORACLE 10G的用户名和口令?

如何查看oracle 两个表结构是不是相同

如何查看oracle数据库中的job执行了多长时间

Oracle如何查看执行计划

如何在Oracle中查看各个表,表空间占用空间的大小