DBMS_PIPE管道通信

/**问题:
在编译过程的时候发现有"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中实现多进程的通信呢?其
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值