sqldeveloperで異なるテーブルと2つの接続があります。sqldeveloperの異なるOracle接続のクエリ
さんが言わせて:テーブルと
ConnectionA:A、テーブルとB、C ConnectionB:D、E、F
今、私はこのようなクエリを持つようにしたい:
選択aa.name、dd.id からa aa、D dd;
どうすればいいですか?
sqldeveloperで異なるテーブルと2つの接続があります。sqldeveloperの異なるOracle接続のクエリ
さんが言わせて:テーブルと
ConnectionA:A、テーブルとB、C ConnectionB:D、E、F
今、私はこのようなクエリを持つようにしたい:
選択aa.name、dd.id からa aa、D dd;
どうすればいいですか?
単一のSQL文を使用して2つの異なるデータベースのオブジェクトを照会する場合は、2つのデータベース間にデータベースリンクを作成する必要があります。データベースリンクは、データベースに存在し、クエリツールとは独立したオブジェクトです。データベースAでは、例えば、データベース・リンク
CREATE DATABASE LINK to_b
CONNECT TO username IDENTIFIED BY password
USING tns_alias_on_a_pointing_to_b
を作成することができますそして、あなたはAに接続するときに、あなたは
SELECT aa.name, dd.id
FROM a aa,
[email protected]_b dd
WHERE aa.some_key = dd.some_key
SQLエラー:ORA-12154:TNS:指定された接続識別子を解決できませんでした。 – user999379
@ user999379 - 'SELECT'文を実行するとこのエラーが発生すると思いますか?データベースリンクを作成すると、データベースAにTNSエイリアスが存在し、データベースBを指す必要があります.Bを指すAのTNSエイリアスは、ローカルシステムで定義されたTNSエイリアスとは異なる場合があります(特にローカルのtnsnames.oraファイルでの名前付けを使用して)。 –
同じOracle DBサーバー上で実行されている「ライブ」データベースと「デモ」データベースがあります。それらは両方とも同じtnsnames.oraファイルに設定されています。だから私にとっては、私のライブ接続でこの文を実行するのと同じくらい簡単でした: 'CREATE DATABASE LINK demodb USING 'demodb';' demodbはtnsnames.oraのデモデータベースのSIDです。今度は、テーブル名の最後に@demodbを追加するだけで、ライブDB接続からデモデータベーステーブルをクエリできます。 – Baodad
ような何かを行うことができどうやらTOAD Data Point、クロスコネクトがを照会サポートしています参照:
http://dev.toadfordataanalyst.com/webhelp/Content/Query_Builder/Create_CrossConnection_Queries.htm
またOracle SQL Developerはsupporているようです何か類似している。 (このブログの記事を参照:Cross Connection Queries)
テーブルは接続に固有のものではありません。おそらくあなたはスキーマを意味するでしょうか? –
sqldeveloperで独自のテーブルを持つ接続を作成できます – user999379
@ user999379 - 接続にはテーブルがありません。接続を使用すると、特定のオブジェクトセット(スキーマ)を所有する特定のユーザーとして特定のデータベースにログインできます。接続にはオブジェクトがありません。 –