热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

Plsql创建连接DBlinks

某些时候,需要关联不同的数据库进行数据查询、操作等。在Oracle中,关联不同的数据库进行表关联,就要用到了数据库连接(DBlink)。创建DBlink有两种方法:通

某些时候,需要关联不同的数据库进行数据查询、操作等。

在Oracle中,关联不同的数据库进行表关联,就要用到了数据库连接(DB link)。

创建DB link有两种方法:通过SQL语句创建,通过可视化界面创建(其实也是执行的SQL语句)。

1.通过PL/SQL Developer 工具建立

\

Name:此DBLINK的名字,你自己随便起。比如:DEMO

UserName:数据库登陆用户名

Password:数据库登陆密码

Database:(DESCRIPTION=(ADDRESS_LIST=(ADDRESS=(PROTOCOL=TCP)(HOST=192.168.1.1)(PORT=1521)))(CONNECT_DATA=(SERVICE_NAME=DEMO)))

以上红色字体内容从以下地方可查询:\product\10.2.0\client_1\network\admin\tnsnames.ora

 


[sql] view plaincopy
  1. DEMO =  
  2.   (DESCRIPTION =  
  3.     (ADDRESS_LIST =  
  4.       (ADDRESS = (PROTOCOL = TCP)(HOST = 192.168.1.1)(PORT = 1521))  
  5.     )  
  6.     (CONNECT_DATA =  
  7.       (SERVER = DEDICATED)  
  8.       (SERVICE_NAME = DEMO)  
  9.     )  
  10.   )  




将上面的"DEMO="去掉,其余内容把换行符、空格去掉组成一个字符串即可。

然后点击“Apply”按钮即可。

建立好后,会在Database links菜单下显示。

测试DB link是否有效,执行语句:Select * from student@DEMO

其中,student为远程数据库的表名。

2.通过SQL语句创建

create public databaselink V_SERVICE_NAMEconnect to V_USERNAMEidentified by V_PASSWORD using '(DESCRIPTION=(ADDRESS_LIST=(ADDRESS=(PROTOCOL=TCP)(HOST=192.168.1.1)(PORT=1521)))(CONNECT_DATA=(SERVER=DEDICATED)(SERVICE_NAME=V_SERVICE_NAME)))';

其中:

V_SERVICE_NAME表示服务名,可通过SQL语句查询:SELECT * FROM GLOBAL_NAME; --查看服务名

V_USERNAME表示登录远程数据库的帐号

V_PASSWORD表示登录远程数据库的密码 

PS:经本人测试,当tns字符串中带有换行符时,该DB link无效;当DB link名称不是服务名时,该DB link无效。



下列方案也可以实现:


-- Drop existing database link 


drop public database link 名称;
drop public database link TO_TEST.REGRESS.RDBMS.DEV.US.ORACLE.COM;


-- Create database link 密码要加上双引号
CREATE PUBLIC DATABASE LINK 名称 CONNECT TO 用户名 IDENTIFIED BY "密码" USING '192.168.0.1:1521/orcl'



CREATE PUBLIC DATABASE LINK TO_TEST.REGRESS.RDBMS.DEV.US.ORACLE.COM CONNECT TO mdsp20 IDENTIFIED BY "mdsp20" USING '192.168.0.1:1521/orcl'


推荐阅读
author-avatar
石隆雅雯79
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有