本帖最后由 jijunwu 于 2009-08-03 18:22:50 编辑

解决方案 »

  1.   

    一般的同义词只在schema之间有效,若要跨数据库,需要先使用db_link扩展访问,然后使用create synonym table_name for table_name@DB_Link;最好把你的建同义词语句,查询语句和报错信息都贴出来。
      

  2.   

    首先我的B中同义词映射 A中的视图 在B中可以看到内容 这个是肯定的
      

  3.   

    1.SELECT * FROM STT在B下是否可以查出东西
    2.view建立语句
    3.报错信息
      

  4.   

    1.可以
    2.直接创建视图不是Sql
    3.英文报错表或视图不存在,但是绝对存在  ,下面的汉字提示没有权限
      

  5.   

    加上用户名看看
    SELECT * FROM user.STT
      

  6.   

    create view viewname as select columns from STT;show err
      

  7.   


    create view tt 
    AS
    select * from tp;
    ERROR 位于第 3 行:
    ORA-01031: insufficient privileges
      

  8.   

    第一步:
    SQL> connect /as sysdba
    已连接。
    SQL> connect test01/test01;
    已连接。
    SQL> select * from ttt;        ID NAME             ROLE
    ---------- ---------- ----------
             1 aa                  1
             1 aa                  2
             2 bb                  3
             3 cc                  4SQL> create view v_ttt 
      2  as select * from ttt;视图已创建。SQL> select * from v_ttt;        ID NAME             ROLE
    ---------- ---------- ----------
             1 aa                  1
             1 aa                  2
             2 bb                  3
             3 cc                  4第二步:
    SQL> create user test02 identified by test02;用户已创建。SQL> grant dba to test02;授权成功。SQL> select * from test01.v_ttt;        ID NAME             ROLE
    ---------- ---------- ----------
             1 aa                  1
             1 aa                  2
             2 bb                  3
             3 cc                  4SQL> create public synonym s_ttt for test01.v_ttt;同义词已创建。SQL> connect test02/test02;
    已连接。
    SQL> select * from s_ttt;        ID NAME             ROLE
    ---------- ---------- ----------
             1 aa                  1
             1 aa                  2
             2 bb                  3
             3 cc                  4
      

  9.   

    select * from s_ttt  是可以
    但是我现在如果是 
    create view test
    as
    select * from s_ttt 
    就有问题了
      

  10.   

    SQL> connect /as sysdba
    已连接。
    SQL> grant select on s_ttt to test02;授权成功。SQL>  create view v_ttt as select * from s_ttt;视图已创建。SQL> select * from v_ttt;        ID NAME             ROLE
    ---------- ---------- ----------
             1 aa                  1
             1 aa                  2
             2 bb                  3
             3 cc                  4SQL> show user;
    USER 为 "TEST02"SQL>  create view v_ttt as select * from s_ttt;视图已创建。SQL> select * from v_ttt;        ID NAME             ROLE
    ---------- ---------- ----------
             1 aa                  1
             1 aa                  2
             2 bb                  3
             3 cc                  4SQL> show user;
    USER 为 "TEST02"
    SQL> connect /as sysdba
    已连接。
    SQL> create view v_ttt as select * from s_ttt;视图已创建。SQL> select * from s_ttt;        ID NAME             ROLE
    ---------- ---------- ----------
             1 aa                  1
             1 aa                  2
             2 bb                  3
             3 cc                  4
      

  11.   

    问题解决了 谢谢
    shiyiwan

    zxf_feng