DBMS_PIPE管道通信

本文详细介绍了在Oracle中使用DBMS_PIPE和DBMS_ALERT实现多进程通信的过程和区别。通过实例展示了如何创建管道、发送和接收消息,以及注册和监听报警信号。DBMS_PIPE提供异步通信,适合传递复杂信息,而DBMS_ALERT则为同步通信,适用于文本消息的传递。了解这些通信机制有助于提升PL/SQL的多进程应用开发能力。
摘要由CSDN通过智能技术生成
/**问题:
在编译过程的时候发现有"DBMS_PIPE"标识符必须声明的错误PLS-00201
*/
/**分析:
通过角色获得的权限无效
所以通过grant dba to xaxnb而得到的xaxnb用户的权限是dba的权限,在PLSQL中是没有这个权限的
需要通过显式的直接给用户授权,所以需要执行grant all on dbms_pipe to public来进行授权
*/
/**解决:
1 使用sysdba用户权限登录ORACLE
2 执行grant execute on dbms_pipe to public;让其他用户可以使用DBMS_PIPE
3 退出SYSDBA用户
4 使用XAXNB用户登录,从而可以编译相应的PACKAGE
*/

sqlplus sys/system@orcl as sysdba
grant execute on dbms_pipe to public;
commit;
exit

sqlplus xabjxnb/xabjxnb@orcl
alter package PKG_DataExchange compile;


/**相关资料: http://www.souzz.net/html/database/ORACLE/40773.html
PL/SQL是基于Oracle的一个主流应用程序编程语言,它的主要特点是将SQL语句与过程化程序开发语言相结合,以实现更为复杂的商业逻辑。本文主要就其中多进程通信进行讨论。
显然,多进程技术是用来提高应用的并发性,进而提高整个系统的执行效率,那么如何在PL/SQL中实现多进程的通信呢?其
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值