/**问题: 在编译过程的时候发现有"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中实现多进程的通信呢?其
DBMS_PIPE管道通信
最新推荐文章于 2022-07-14 22:15:56 发布
本文详细介绍了在Oracle中使用DBMS_PIPE和DBMS_ALERT实现多进程通信的过程和区别。通过实例展示了如何创建管道、发送和接收消息,以及注册和监听报警信号。DBMS_PIPE提供异步通信,适合传递复杂信息,而DBMS_ALERT则为同步通信,适用于文本消息的传递。了解这些通信机制有助于提升PL/SQL的多进程应用开发能力。
摘要由CSDN通过智能技术生成