ORA-00904: "UTL_RAW"."CAST_TO_RAW": 标识符无效同样的sql语句,在其他机器执行ok,但在某台机器执行就报上面错误。请高人指点,谢谢!

解决方案 »

  1.   

    ORA-00904: "UTL_RAW"."CAST_TO_RAW": 标识符无效-- 提示已经很明显啦:ORA-00904: "UTL_RAW"."CAST_TO_RAW": 标识符无效
    -- CAST_TO_RAW-- "UTL_RAW"."CAST_TO_RAW" 是什么东东?
    -- 你先在你的SQL语句里查一下:CAST_TO_RAW
    -- 要不把你的原代码贴出来,我估计可能是你的用户服务的权限问题,估计是你当前的用户没有
    -- 执行 "UTL_RAW"."CAST_TO_RAW" 对象的权限?或者是:"UTL_RAW"."CAST_TO_RAW"对象不存在!
      

  2.   

    之前这台机器用都是好的,后来就不行了。据管理这台机器的人说没有动过什么,所以很奇怪。在机器上执行如下语句,结果:
    SQL> select * from dba_tab_privs where table_name='EXU8HSTU'
      2  ;GRANTEE                        OWNER
    ------------------------------ ------------------------------
    TABLE_NAME                     GRANTOR
    ------------------------------ ------------------------------
    PRIVILEGE                                GRA HIE
    ---------------------------------------- --- ---
    PUBLIC                         SYS
    EXU8HSTU                       SYS
    SELECT                                   NO  NO
    SQL> select * from dba_tab_privs where table_name='UTL_RAW';no rows selectedSQL> 
    不太懂oracle,求指点。
    _____
      

  3.   

    用户没有包UTL_RAW的可执行权限,
    给新用户赋予包UTL_RAW的可执行权限即可:
    grant execute on UTL_RAW to newuser;
    SQL> select * from dba_tab_privs where table_name='UTL_RAW';
      

  4.   

    select * from dba_tab_privs where table_name='UTL_RAW';
    这条语句在正常环境执行结果:
     GRANTEE     OWNER     TABLE_NAME     GRANTOR     PRIVILEGE     GRANTABLE     HIERARCHY    
     ----------  --------  -------------  ----------  ------------  ------------  ------------ 
     PUBLIC      SYS       UTL_RAW        SYS         EXECUTE       NO            NO           
    在异常环境执行结果:
    no rows selected另外,
    grant execute on UTL_RAW to newuser;
    这个newuser 是指那个用户?
      

  5.   

    具体是没有执行权限的原因
    grant execute on UTL_RAW to user;