简体   繁体   中英

query from different oracle connections in sqldeveloper

I have 2 connections with different tables in sqldeveloper.

let's say:

ConnectionA with tables: A,B,C ConnectionB with tables: D,E,F

Now I want to have a query that looks like this:

select aa.name,dd.id from A aa,D dd;

How can i do this?

If you want to query objects in two different databases using a single SQL statement, you would need to create a database link between the two databases. A database link is an object that resides in the database and is independent of the query tool. In database A, for example, you could create the database link

CREATE DATABASE LINK to_b
  CONNECT TO username IDENTIFIED BY password
  USING tns_alias_on_a_pointing_to_b

And then when you connect to A, you could do something like

SELECT aa.name, dd.id
  FROM a aa,
       d@to_b dd
 WHERE aa.some_key = dd.some_key

Apparently TOAD Data Point supports Cross-Connection Queries , see:

http://dev.toadfordataanalyst.com/webhelp/Content/Query_Builder/Create_CrossConnection_Queries.htm

Also Oracle SQL Developer seems to support something similar. (see this blog post: Cross Connection Queries )

I found this helpful and to the point of the OP question for Oracle 11g rel 2 and later: http://www.dba-oracle.com/t_how_create_database_link.htm . Basically, right-click on the connection in the Connections pane in SQL Developer, click Properties, and you get the hostname, port, and service name that you can plug into the "USING" part of the CREATE DATABASE LINK statement. Whether you put in Service Name or SID I assume depends on which you used in your connection. example:

create public database link mylink connect to remote_username identified by mypassword using 'myserver:1521/MYSID';

The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM