一个系统表,
在SQL WINDOWS 中用select 是可以查询出来的,
但是在包体中使用select 的时候,就会说是“无效表名”,哪位知道这是咋回事呀

解决方案 »

  1.   

    这个是个视图,属主是sys,我用另外一个帐号登陆数据库的,用
    select sys.dba_data_link 也不行啊,
    告诉我还是:00942表或视图不存在,晕了
      

  2.   

    怎么赋权限呀
    我用不grant select on dba_data_link to hdqryrole,
    然后还是不行啊
      

  3.   

    grant select on DBA_DB_LINKS to public
      

  4.   

    对该系统表进行显式授权:
    grant select on sysTable to yourUser;  --yourUser这里是用户名,不要是role引用时:select ... from sys.sysTable 
      

  5.   

    直接grant select该表的权限给用户,不要授权给角色,过程中不会继承role中的权限的.
      

  6.   


    如果读取的是系统表,并且不是该用户可以访问的表时,需要用其它的用户访问,或增加该用户的授权。如DBA权限等。
    当前的用户,可以该问的系统表的为 user_...