• ベストアンサー

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で出来ないものでしょうか? 宜しくお願い致します。

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

  • ベストアンサー
  • muyoshid
  • ベストアンサー率72% (230/318)
回答No.2

こんにちわ。 データベースリンクを使用すれば可能です。 まず、あっちのデータベース (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 です。

tosi0000
質問者

お礼

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

tosi0000
質問者

補足

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

その他の回答 (1)

  • taknt
  • ベストアンサー率19% (1556/7783)
回答No.1

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

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

お礼

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

関連するQ&A

専門家に質問してみよう