慕桂英546537
通过database links的方法具体如下: 假设DB1、DB2两个数据库,现在要在DB1中使用DB2的表,那么在DB1数据库中创建db link的命令如下: 一、创建database link -- Create database linkcreate database link db_1connect to db_2_user identified by "db_2_user_password"using 'DEMO =(DESCRIPTION =(ADDRESS_LIST =(ADDRESS = (PROTOCOL = TCP)(HOST = db_2_ip)(PORT = 1521)))(CONNECT_DATA =(SERVICE_NAME = db_2_server)))'; 其中,db_1是db link的名称;db_2_user是DB2这台机器上源数据库的用户名;db_2_user_password是密码;db_2_ip是DB2数据库地址,db_2_server是DB2数据库服务名。 这样就可以,如果要访问B数据库的test表,可以“表名@数据链接名”这样用,如: select * from test@db_1; 二、使用 注意点:如果在DB1的oracle clinet上通过database links访问DB2的表,需要在DB1的服务器的tnsnames正确指向DB2。假设DB_LINK是想从DB1连接到DB2,需要配置DB1机器上的tnsnames正确指向DB2。如果确认DB1上的tnsnames中配置正确;那么再确认正确的tnsnames被使用了,也就是说DB1机器上系统的环境变量指向哪个oracle的bin目录,使用的是不是配置正确的那个tnsnames文件。两个tnsnames正确配置完成后就可以使用了。