本地Oracle数据库访问远程Oracle数据库

如何使用本地Oracle数据访问远程Oracle数据库。知道远程数据库的ip、数据库名、数据库用户名、密码、service_name(sid)。例如:我想将远程数据库中的一张表中的数据插入到本地数据库表中。如何实现?不希望使用链路。希望得到各位大侠的帮助,谢谢。

-- 在本地以sys用户执行,向需要创建DBLINK的用户授权
grant create database link to ;

-- 在本地以登录,执行:
create database link
connect to identified by ""
using
'(DESCRIPTION =
(ADDRESS = (PROTOCOL = TCP)(HOST = )(PORT = ))
(CONNECT_DATA =
(SERVER = DEDICATED)
(SERVICE_NAME = )
)
)';

查询的时候在远程表名后加上@就可以了。

https://www.cnblogs.com/fx-blog/p/6232077.html

可以通过连接数据库获取数据到前端,再将获取的数据导入本地,仅提供思路

,再将获取的数据导入本地,仅提供思路,你看看可以不

 oracle可以通过dblink远程绑定数据源

dblink,查询的时候这样写sql,例如一个dblink叫aa,
select * from tablename@aa 这样就可以查询表数据,当然也可以和自己数据库的表关联查询

创建dblink,
create /* public / database link aa

  connect to user identified by *
*

  using '(tns )';

怎么有些东西显示不了呢???

顶楼上,用PLSQL,配置相关的 (.ora文件),这样的话一般可以连接上,可能还会需要VPN和远程连接

如果使用navcait---针对Oracle数据库的也行,不过要配置完整版本的数据库。

查看oracle的安装目录
echo $ORACLE_HOME
network/admin/tnsnames.ora中
这个是我的 安装目录:
ORA1 =
(DESCRIPTION =
(ADDRESS = (PROTOCOL = TCP)(HOST = linux)(PORT = 1521))
(CONNECT_DATA =
(SERVER = DEDICATED)
(SERVICE_NAME = ora1)
)
)
在plsql中
exec sql begin declare section;
char userpasswd[30]="用户名/密码";
exec sql char path[20]="ORA1";
exec sql end declare section;
exec sql connect:usserpasswd using :path;
..........................就这样 可以连接了

PLSQL登录本地数据库,建dblink
-- Create database link
create database link 远程名
connect to 远程数据库用户名 identified by '密码'
using '此处填远程数据库TSN配置信息';

建好执行:
使用方法:
select * from 某表@远程名

不过我只是想拿个C币

如果是本地Oracle数据库去链接另外的Oracle数据库,必须要DBLink, 如果是你自己代码,你可以建两个连接池。

在数据库里访问另一个数据库,最正常的就是用dblink了,也就是题主所说的不希望使用的链路。
其实,还真有办法不使用dblink,oracle是支持java source的,你可以在oracle里跑java,然后java再连接远程数据库操作