- PR -

テーブルを保有していないユーザーでのアクセス

1
投稿者投稿内容
未記入じゃけんど
ベテラン
会議室デビュー日: 2004/11/09
投稿数: 65
お住まい・勤務地: Osaka City
投稿日時: 2005-12-01 16:21
今、オラクルでデータベースを作成しています。
テーブルとプロシージャーとを別ユーザーにて作成しているのですが
テーブルを保有していないユーザーから
select文でテーブルの内容を取得しようとすると、
「表またはビューが存在しません」となります。

select文のテーブルを テーブル保有ユーザー.テーブル名
とすると取得できるのですが、
そうしないで、select文で取得する方法ってあるのでしょうか?
よろしくお願いします。

すいませんがオラクル初心者です。
よろしくお願いします。
宣伝中止!
大ベテラン
会議室デビュー日: 2005/08/30
投稿数: 155
お住まい・勤務地: 東京に作業場所変更・・・
投稿日時: 2005-12-01 16:45
引用:

未記入さんの書き込み (2005-12-01 16:21) より:
今、オラクルでデータベースを作成しています。
テーブルとプロシージャーとを別ユーザーにて作成しているのですが
テーブルを保有していないユーザーから
select文でテーブルの内容を取得しようとすると、
「表またはビューが存在しません」となります。

select文のテーブルを テーブル保有ユーザー.テーブル名
とすると取得できるのですが、
そうしないで、select文で取得する方法ってあるのでしょうか?
よろしくお願いします。

すいませんがオラクル初心者です。
よろしくお願いします。



テーブルを保有していないユーザーから

CREATE SYNONYM テーブル名 FOR テーブル保有ユーザー.テーブル名

テーブル保有ユーザー.テーブル名にアクセスする権限はあると思いますので、多分これでいけるかな?
この後は、普通に
SELECT * FROM テーブル名
でいけるかと。

未記入じゃけんど
ベテラン
会議室デビュー日: 2004/11/09
投稿数: 65
お住まい・勤務地: Osaka City
投稿日時: 2005-12-01 17:30
シノニムでできました。
ありがとうございます。
Desmo
大ベテラン
会議室デビュー日: 2004/03/24
投稿数: 149
投稿日時: 2005-12-01 18:14
もし利用するユーザが幾つもあるのだったら public synonym を作る方法もありますよ。

> CREATE PUBLIC SYNONYM シノニム名 FOR テーブル保有ユーザー.テーブル名;

これなら全てのユーザから、シノニム名でテーブルを利用することができます。
勿論、利用ユーザは そのテーブルへのアクセス権を必要としますが。
1

スキルアップ/キャリアアップ(JOB@IT)