2011-10-22 8 views
0

cis605のempテーブルが存在し、ユーザーに権限を割り当てたいとします。私が間違ってやっていることのアイデアは?ユーザーがテーブルから選択できるようにする

SQL> grant select on emp to user; 

    Grant succeeded. 

    SQL> connect user 
    Enter password: 
    Connected. 
    SQL> select * from emp; 
    select * from emp 
        * 
    ERROR at line 1: 
    ORA-00942: table or view does not exist 

私はまた違った

 SQL> connect cis605 
    Enter password: 
    Connected. 
    SQL> grant select on system.emp to chap7; 
    grant select on system.emp to chap7 
          * 
    ERROR at line 1: 
    ORA-00942: table or view does not exist 

私は

SQLを使用している必要があり相続人の文を、それをやって試してみました> SELECT * cis605.empから。最初のケースで

+0

[私はEMPテーブルを見るためにユーザに許可を割り当てたい](http://stackoverflow.com/questions/7857005/i- user-to-see-the-empテーブルのためのアクセス権を割り当てたい) –

答えて

2

あなたが必要とするので、それが動作しないと、次のいずれか。

  1. リファレンスそれは中のスキーマを含むテーブル名、すなわち

    schema.EMP FROM

    SELECT *;

OR
2.すべてのSQL文でスキーマを含めずにテーブルを「見る」ことができるようにするために、[パブリック]シノニムを作成します。


2番目のケースでは、スキーマを参照しようとしていますが、間違ったものを取得しようとしています。 EMPテーブルは通常、SYSTEMではなくSCOTTスキーマにあります。あなたのケースで、多分あなたがする必要があるけれども:

grant select on cis605.emp to chap7; 

また、「USER」というユーザーを持つことは悪い考えである - それはOracleのキーワードです。 (これはちょうど例の目的のためであると思いますが)

関連する問題