みんなの「教えて(疑問・質問)」にみんなで「答える」Q&Aコミュニティ

こんにちはゲストさん。会員登録(無料)して質問・回答してみよう!

解決済みの質問

oracleで別のグローバルデータベースのテーブルからPL/SQLでデータをinsertする方法。

こんにちは。

別の場所に設置してあるoracleのデータベースからinsert文でデータを引っ張って来れないかと思っています。

ご存知の方いらっしゃれば宜しくお願い致します。

内容:
ここのoracleです。
グローバルデータベース名:testa.ok.com
(データベース名:testa)
スキーマ名:output
テーブル名:名称マスタ
項目内容:番号、名前
ユーザ名:tosi
password:tosi

あっちのoracleです。
グローバルデータベース名:testb.ok.com
(データベース名:testb)
スキーマ名:input
テーブル名:名称マスタ
項目内容:番号、名前
ユーザ名:tosi
password:tosi

PL/SQLで出来ないものでしょうか?
宜しくお願い致します。

投稿日時 - 2003-09-02 19:33:47

QNo.644593

困ってます

質問者が選んだベストアンサー

こんにちわ。

データベースリンクを使用すれば可能です。
まず、あっちのデータベース (testb.ok.com) に接続
するための接続文字列をtnsnames.ora に定義します。
→ sqlplus tosi/tosi@接続文字列 でtestb.ok.com
  に接続できる事を確認して下さい。

次にtesta.ok.com 側にデータベースリンクを作成します。
Create database link DBリンク名
 connect tosi identified by tosi using '接続文字列';
→ select ~ from input.名称マスタ@DBリンク名
  where ~
 で、データベースリンク経由でデータにアクセスできること
 を確認して下さい。

後は、SQL 文 (PL/SQL でも可) の中で
Insert into 名称マスタ select * from
 input.名称マスタ@DBリンク名 where ~;
とすれば、Ok です。

投稿日時 - 2003-09-02 20:05:31

補足

有難う御座います。
出来ました。
リンクがアクティイブにならなくて、ちょっと苦労しました・・・・。

投稿日時 - 2003-09-03 15:10:20

お礼

有り難う御座います。
ちょうどテーブル名称指定のところで難儀していました。
明日に再度チャレンジします。

投稿日時 - 2003-09-02 23:01:47

このQ&Aは役に立ちましたか?

1人が「このQ&Aが役に立った」と投票しています

回答(2)

ANo.1

やったことは ないのですが、DBリンクをはれば、出来そうな気がします。

参考URL:http://www20.big.or.jp/~o-shin/bbs/bender/others/pslg17.html

投稿日時 - 2003-09-02 19:53:57

お礼

早速の回答、有り難う御座います。
DATABASELINKまでは出来ました。
ファイル名の指定で難儀していますが、
出来そうな感じがしています。

投稿日時 - 2003-09-02 22:57:46

あなたにオススメの質問