• ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:異なるサーバのDBデータ同士を結合するには?)

異なるサーバのDBデータを結合する方法

このQ&Aのポイント
  • 異なるサーバに載っているDBのデータを結合する方法について説明します。
  • 両者の主キーのみを使用してデータのつながりを作る方法や、DBに何かを作らずにデータの結合をする方法についても検討しましょう。
  • SQLplusやSQLクリエイトツールを使用してデータの結合を行い、DBを汚さない方法についても解説します。

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

  • ベストアンサー
  • nora1962
  • ベストアンサー率60% (431/717)
回答No.1

「CREATE DATABASE LINK」でデータベースリンクを作成すれば可能だと思います サーバー1上で 「CREATE DATABASE LINK link2 CONNECT TO ユーザー名 IDENTIFIED BY password USING 'サービス名' 」 を実行しデータベースリンクを作成し http://download.oracle.com/docs/cd/E16338_01/server.112/b56299/statements_5005.htm FROM テーブル名 INNER JOIN テーブル名2@link2 on テーブル名.項目名 = テーブル名2@link2.項目名 でJOINできます。

mr-r00
質問者

お礼

ありがとうございます 大変参考になりました!

その他の回答 (2)

  • Siegrune
  • ベストアンサー率35% (316/895)
回答No.3

DBLinkもダメってことなら、Accessで両方のテーブルのリンクテーブル作って AccessのSQLを発行すればSQLのみで結合できますけどね。 データ量によってはレスポンス悪いしOracleのサーバに負荷かかるし お勧めではありませんけど。 プログラムで、両方のテーブルの全レコード取得して、マッチングプログラム作るよりはまし。 ということで一応書いておきます。

mr-r00
質問者

お礼

ありがとうございます 大変参考になりました!

  • 3rd_001
  • ベストアンサー率66% (115/174)
回答No.2

>どちらかのサーバに片方のDBのテーブルを作るとかビューを作ればいいかと思いましたが、 >その方法についてはNGとされています。 >DBに何かを作ることなくデータの結合をさせれないでしょうか? これってDB上になにも作成してはいけないということでしょうか? データベースリンクも作成不可ですか? そうなるとSQLのみでは不可能です。 アプリケーションで、双方のDBにアクセスしてテーブルの内容を取得し、 アプリケーション上で結合するロジックを書くしかないでしょう。

mr-r00
質問者

お礼

ありがとうございます 大変参考になりました!

関連するQ&A