plsql调用存储过程报错,怎么调试

2024-12-05 11:58:17
推荐回答(1个)
回答1:

1. 打开PL/SQL Developer如果 在机器上安装了PL/SQL Developer的话,打开PL/SQL Developer界面输入 用户名,密码和host名字,这个跟在程序中web.config中配置的完全相同,点击确定 找到 需要调试的存储过程所在的包(Package bodies),如PACK_ACTIVITY,点击右键,在弹出菜单中选择[查看],得到包中的所有存储过程和他们的代码.
2. 添加debug信息为了 能够单步跟踪存储过程,需要为其所在的包添加debug信息,右键点击需要调试的包,在弹出菜单中选中[添加调试信息](这个很重要).这样 就为包体添加了调试信息。
3. 调 试存储过程现在 所有的准备工作都做好了,可以调试跟踪存储过程了。选择 需要调试的存储过程,点击右键,在弹出菜单中 选择[测试],进去测试窗口.测试窗口中有为了测试该存储过程自动所产生的代码,当然你也可以自己另外加入和修改代码,对于我们目前只是为了调试存储过程, 自动生成的代码已经足够了。接着按照如下的步骤进行调试。
(1)添加存储过程所需要的参数,我们项目中的大多数存储过程都是需要参数 的,参数可以在测试窗口右下部分输入。如:GetPanNO_New需要一个输入参数v_employeeid,我们输入180,输出参数是mycursor,是查看结果的,不需要输入任何值。
(2)开始调试,点击[调试]菜单->[开始](或者按F9),就进去调试模式了,程序开始停在begin这一行.
(3)以后的调试过程跟我们熟悉的的调试过程就一样了:运行(Ctrl+R)单步 进入(Ctrl+N)单步 跳过(Ctrl+O)单步 退出(Ctrl+T)或者 点击debug工具条上的按扭:当按Ctrl+N进去存储过程的源代码中后 在这 个窗口中可以查看过程中的变量值和堆栈。
(4)调试运行完了后,可以查看结果如下(点击mycursor变量旁边的按钮).
4. Tip 令人 比较郁闷的是我们项目中很多的存储过程都是一个SELECT语句,不管这个SELECT语句多么复杂(SELECT语句中有嵌套的子SELECT语句),它也只能作为一行代码,单步跟踪就没有什么意义了。