可能是没有安装,运行:
@\....\RDBMS\ADMIN\dbmspipe.sql

解决方案 »

  1.   

    肯定安装了,我在过程中可以使用PIPE包的!但在创建包时不能使用!
      

  2.   

    是DBMS_PIPE,本来是sys的,但是sys已经授权给public了。
    所以是每个用户都可以调用的,不要指明sys.DBMS_PIPE
    在pl/sql块中直接是DBMS_PIPE.

    DBMS_PIPE.PACK_MESSAGE(command);
    ------------------------------------
    对于没有指明所有者的对象,oracle先是检查自己是否有该对象,然后检查是否有你可以访问的对象(别人授权),然后检查public对象。
      

  3.   

    我并没有指定用sys.dbms_pipe,程序里就是DBMS_PIPE.PACK_MESSAGE(command);是在sql plus中创建时给的提示为sys.dbms_pipe为未声名的字符串,我查了oracle的错误表,提到说包只有Public的权限,是不是因为这个权限问题!请指教!
      

  4.   

    select * from dba_tab_priv where table_name = 'DBMS_PIPE'
    看你那里sys到底给public授权没有
    如果没有,sys登陆,grant execute on DBMS_PIPE to public
      

  5.   

    我授权后可以了谢谢!不过select * from dba_tab_priv where table_name = 'DBMS_PIPE'语句不对,说没有dba_tab_priv ,我手头的书让别人拿走了,不能查资料。
      

  6.   

    select * from dba_tab_privs where table_name = 'DBMS_PIPE'
    一不小心,少输了个s
    这是对象权限表(不仅仅是表)
    对应的还有
    dba_col_privs  --柱的对象权限
    dba_sys_privs  --系统特权
    dba_role_privs  --角色