有没有碰到过这种情况,当你的java程序连接oracle运行存储过程的时候,java控制台只是仅仅输出java程序的相关信息,
而存储过程中的dbms_output内容却没有办法显示?这样只能跑去sql developer 单独调试存储过程,而不能直接在eclipse
进行集成测试,出了问题也不好定位。
所以在此分享一个解决方案: 原文链接 。05年的一个方法,不知现在有没有更好的:)
存储过程demo
1 | create or replace |
用来输出dbms_output 的类
1 | import java.sql.*; |
测试代码
1 |
|
输出的结果
运行测试代码之后,就可以看见在java 控制台输出了: im in store procedure
这样就可以让java为我们输出DBMS_OUTPUT,就像SQL*PLUS一样。你需要做的仅仅是在java运行存储过程之后,调用DbmsOutput.show() ,就能显示这个存储过程内的DBMS_OUTPUT,是不是很方便?再也不用在eclipse和sql develper之间两头调试了