使用PL/SQL Developer的Event Monitor代替Output做调试。
2008-12-24 10:43
232 查看
PL/SQL Developer里的Event Monitor不知道是什么版本开始加上去的,一直以来都忽视了这个东东,不知道他是干什么的,最近研究DBMS_PIPE才发觉原来它可以在存储过程等调试过程中实时获取调试信息。使用方法很简单,自己创建一个存储过程
PROCEDURE p_message(msg VARCHAR2) AS
sta NUMBER;
BEGIN
dbms_pipe.pack_message(msg);
sta := dbms_pipe.send_message('MyDebug', 60); -- 把打包好的消息发送给名为MyDebug的管道,超时设置为60秒
END;
直
接用这个p_message代替平时使用的dbms_output.put_line就可以了,在调试程序前打开PL/SQL
Developer里Event Monitor,选择Event Type为DBMS_PIPE,Event
Name填上MyDebug,然后按start开始监听。然后就可以像平常一样运行自己存储过程了,不同的是调试信息是实时显示出来的,而不是像
Output那样要等程序执行完才显示,感觉真是方便多了。
要注意的是,你必须要有DBMS_PIPE的执行权限,有关DBMS_PIPE可以在Oracle文档中找到详细解释,我就没必要翻译了。另外也可以使用DBMS_ALERT,它和DBMS_PIPE最大不同的是它基于事务的,消息要commit才会发送。
PROCEDURE p_message(msg VARCHAR2) AS
sta NUMBER;
BEGIN
dbms_pipe.pack_message(msg);
sta := dbms_pipe.send_message('MyDebug', 60); -- 把打包好的消息发送给名为MyDebug的管道,超时设置为60秒
END;
直
接用这个p_message代替平时使用的dbms_output.put_line就可以了,在调试程序前打开PL/SQL
Developer里Event Monitor,选择Event Type为DBMS_PIPE,Event
Name填上MyDebug,然后按start开始监听。然后就可以像平常一样运行自己存储过程了,不同的是调试信息是实时显示出来的,而不是像
Output那样要等程序执行完才显示,感觉真是方便多了。
要注意的是,你必须要有DBMS_PIPE的执行权限,有关DBMS_PIPE可以在Oracle文档中找到详细解释,我就没必要翻译了。另外也可以使用DBMS_ALERT,它和DBMS_PIPE最大不同的是它基于事务的,消息要commit才会发送。
相关文章推荐
- 使用PL/SQL Developer的Event Monitor代替Output做调试。
- Oracle存储过程单步调试方法(使用pl/sql developer工具)
- Oracle存储过程单步调试方法(使用pl/sql developer工具)
- 使用instantclient代替oarcle的client以安装使用PL/SQL Developer
- PL/SQL Developer使用技巧、快捷键、存储过程调试
- 使用 Oracle SQL Developer 开发和调试 PL/SQL
- 使用PL/SQL Developer工具导入excel和导出excel
- PL/SQL Developer使用技巧
- Oracle第三方工具PL/SQL Developer使用一
- PL/SQL Developer中,存储过程无法调试的问题解决办法
- Oracle使用技巧及PL/SQL Developer配置
- Oracle使用技巧及PL/SQL Developer配置 转载
- 在pl/sql developer中如何创建 database link及使用详解
- 使用pl/sql developer开发工具无法编译存储过程,触发器,包等程序文件
- Win7 64bit Oracle 11g 使用PL/SQL Developer 连接时提示“SQL*Net not properly installed”
- 使用PL/SQL Developer 登陆 oracle 11g 64位数据库
- IT忍者神龟之PL/SQL Developer使用技巧、快捷键
- 使用Oracle 11g(64bit) 开发工具(SQL Developer/ PL SQL Developer)时遇到的问题
- PL/SQL Developer在64位windows上的使用
- pl/sql developer 使用小技巧