oracle - 存储过程在 Crystal Reports 中有效,但在 SQL Developer 中无效
问题描述
我有一个报表可以在 Crystal Reports 中使用这个存储过程正常工作:
BEGIN "CMS"."CMS_RP_MERCHANDISE"."SP_M4_OH_ITEMS"(:MCUR, 1, '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', NULL); END ;
当我尝试在 Oracle SQL Developer 中使用相同的存储过程时,我收到以下消息:
从行开始的错误:命令中的 2 -
错误报告 -
ORA-06550:第 1 行 Ô col 2543:
PLS-00306:调用“SP_M4_OH_ITEMS”时参数的数量或类型错误
ORA-06550:第 1 行Ô col 2543:
PL/ SQL:语句忽略
06550。00000 - “行 %s,列 %s:\n%s”
*原因:通常是 PL/SQL 编译错误。
*行动:
解决方案
调用“SP_M4_OH_ITEMS”时参数的数量或类型错误
我想你做错了什么。该过程有无数个参数,而且您似乎错过了一些(即您的参数太少或太多),或者您错过了它们的数据类型(例如,应该是NUMBER
但您提供了一个字符串)。
这样的程序很难调试;错误在第 1 行第 2543 列(2543?!);您不能以某种方式对其进行格式化并使其更易于阅读和维护吗?谁会向右滚动这么远?
此外,您没有发布CREATE PROCEDURE
代码;我们看到您声明了许多变量,并将它们传递给程序,但是 - 没有看到它,很难说更多。我希望你能在阅读我写的内容后设法修复它。祝你好运!
推荐阅读
- php - 通过检查 SQL 返回数组中的最低值来查找数据库的新 ID
- groovy - Groovy 等效于 Java 的 String.format
- google-apps-script - 重命名工作表中的 Google Drive 文件
- sql - SQL - 查询中的多个项目,输出中的多个结果,表上的单个记录
- ubuntu-18.04 - 如何在 ubuntu 18.04 中找到“设置”?
- java - 是什么原因导致for循环中的代码每次执行两次?
- c - OpenCL,我的 GPU 不行吗?
- c++ - 通过 C 函数调用引发 C++ 异常
- azure - 如何在 Jenkins 中使用 PowerShell 参数
- c# - 使用 openrowset 插入数据时出错