热门标签 | HotTags
当前位置:  开发笔记 > 数据库 > 正文

dblink访问远程数据库

dblink访问远程数据库当用户要跨本地数据库,访问另外一个数据库表中的数据时,本地数据库中必须创建了远程数据库的dblink,通过dblink本地数据库可以像访问本地数据库一样访问远程数据库表中的数据。下面讲介绍如...SyntaxHighlighter.all();

dblink访问远程数据库
 
当用户要跨本地数据库,访问另外一个数据库表中的数据时,本地数据库中必须创建了远程数据库的dblink,通过dblink本地数据库可以像访问本地数据库一样访问远程数据库表中的数据。下面讲介绍如何在本地数据库中创建dblink.
  创建dblink一般有两种方式,不过在创建dblink之前用户必须有创建dblink的权限。想知道有关dblink的权限,以sys用户登录到本地数据库:
  select * from user_sys_privs t
  where t.privilege like upper('%link%');
  1 SYS CREATE DATABASE LINK NO
  2 SYS DROP PUBLIC DATABASE LINK NO
  3 SYS CREATE PUBLIC DATABASE LINK NO
 
  可以看出在数据库中dblink有三种权限CREATE DATABASE LINK(所创建的dblink只能是创建者能使用,别的用户使用不了),CREATE PUBLIC DATABASE LINK(public表示所创建的dblink所有用户都可以使用),DROP PUBLIC DATABASE LINK。
  在sys用户下,把CREATE PUBLIC DATABASE LINK,DROP PUBLIC DATABASE LINK权限授予给你的用户
  www.2cto.com  
  grant CREATE PUBLIC DATABASE LINK,DROP PUBLIC DATABASE LINK to scott;
 
  然后以scott用户登录本地数据库
  1.创建dblink的第一种方式,是在本地数据库tnsnames.ora文件中配置了要远程访问的数据库。
  create public database link
  to_bylw connect to scott identified by tiger using 'bylw';
  其中to_bylw是你创建的dblink名字,bylw是远程数据库的实例名,scott/tiger是登录到远程数据库的用户/密码。然后在本地数据库中通过dblink访问远程数据库'bylw'中scott.tb_test表,sql语句如下所示
  select * from scott.tb_test@to_bylw;
  2.创建dblink的第二种方式,是在本地数据库tnsnames.ora文件中没有配置要访问的远程数据库,  www.2cto.com  
  create database link to_test
 
  connect to scott identified by tiger
 
  using '(DESCRIPTION =
 
  (ADDRESS_LIST =
 
  (ADDRESS = (PROTOCOL = TCP)(HOST = 192.168.1.5)(PORT = 1521))
 
  )
  (CONNECT_DATA =
 
  (SERVER = DEDICATED)
 
  (SERVICE_NAME = bylw)
  )
 
  )';
 
  第二种是把第一种配置在tnsnames.ora文件中的信息,直接放在创建dblink语句后面。第一种情况tnsnames.ora文件中信息如下:
  bylw =
 
  (DESCRIPTION =
 
  (ADDRESS_LIST =
 
  (ADDRESS = (PROTOCOL = TCP)(HOST = 192.168.1.5)(PORT = 1521))
 
  )
 
  (CONNECT_DATA =
 
  (SERVER = DEDICATED)
 
  (SERVICE_NAME = bylw)
 
  )
 
  )
1、  在本地(oracle和phd主服务器)建立一个Oracle的客户端连接sxyuniformance,用于连接远程端机器的oracle数据库。
 
在远程端机器的数据库中,建立一个表用于测试,创建RTDB_TAG表。
create table uniformance.RTDB_TAG
(
 
          NAME VARCHAR2(30) not null,
 
          DES VARCHAR2(60),
 
          UNIT VARCHAR2(15),
 
          HI   VARCHAR2(20),
 
          LO   VARCHAR2(10)
)
在其中增加一条记录:
 
insert into uniformance.RTDB_TAG (NAME, DES, UNIT, HI, LO)
 
values ('TAG1', 'TAG TEST1', 'M', '10000', '-100');
  www.2cto.com  
2、  在oralce和phd服务器端登录PLSQL,创建远程数据库端的连接dblink
 
create database link dblink connect to uniformance identified by  uniformance using ‘sxyuniformance’;
 
dblink:database link的名称
 
uniformance:远程端oracle数据库的登录名
 
uniformance:远程端oracle数据库的登录密码
 
sxyuniformance:本地建立的连接到远程端的服务名称
 
注意:创建database link的时候,名字不是随便获取的,如果本地数据库的global_names的参数值为true,dblink的名称必须和远程数据库的global_names相同。
 
如何查看数据库的GLOBAL_NAME?
 
执行  SQL>SELECT * FROM GLOBAL_NAME;
  www.2cto.com  
如何查看Global_name参数是true还是False?
 
执行  SQL> show parameter global_name;
 
如何修改Global_name参数值?
 
执行  SQL>  alter system set global_names=false;
 
3、  测试连接是否成功
   select * from dual@dblink
   如果有结果返回则表示连接成功了。
4、在本地数据库中查询已经建立的远程连接名:
 
   SQL> select owner,object_name from dba_objects where object_type='DATABASE LINK';
 
    OWNER                    OBJECT_NAME
  www.2cto.com  
   Public                                 dblink
 
5、至此,在本地oracle和phd服务器上创建一个DBLINK,用于连接到远程端的数据库上,
 
在本地的数据库中查询远程端数据库中表的信息:
 
SQL> select * from RTDB_TAG@dblink
 
查询结果测试是否成功
 
 
作者 赵莫言

推荐阅读
  • Windows服务与数据库交互问题解析
    本文探讨了在Windows 10(64位)环境下开发的Windows服务,旨在定期向本地MS SQL Server (v.11)插入记录。尽管服务已成功安装并运行,但记录并未正确插入。我们将详细分析可能的原因及解决方案。 ... [详细]
  • 本文详细介绍了IBM DB2数据库在大型应用系统中的应用,强调其卓越的可扩展性和多环境支持能力。文章深入分析了DB2在数据利用性、完整性、安全性和恢复性方面的优势,并提供了优化建议以提升其在不同规模应用程序中的表现。 ... [详细]
  • 1:有如下一段程序:packagea.b.c;publicclassTest{privatestaticinti0;publicintgetNext(){return ... [详细]
  • 深入理解 SQL 视图、存储过程与事务
    本文详细介绍了SQL中的视图、存储过程和事务的概念及应用。视图为用户提供了一种灵活的数据查询方式,存储过程则封装了复杂的SQL逻辑,而事务确保了数据库操作的完整性和一致性。 ... [详细]
  • PHP 编程疑难解析与知识点汇总
    本文详细解答了 PHP 编程中的常见问题,并提供了丰富的代码示例和解决方案,帮助开发者更好地理解和应用 PHP 知识。 ... [详细]
  • 本文介绍如何解决在 IIS 环境下 PHP 页面无法找到的问题。主要步骤包括配置 Internet 信息服务管理器中的 ISAPI 扩展和 Active Server Pages 设置,确保 PHP 脚本能够正常运行。 ... [详细]
  • 本文介绍了如何在 DB2 环境中创建和删除数据库编目。创建编目是连接新数据库的必要步骤,涉及获取数据库连接信息、使用命令行工具进行配置,并验证连接的有效性。删除编目则用于移除不再需要的数据库连接。 ... [详细]
  • 优化联通光猫DNS服务器设置
    本文详细介绍了如何为联通光猫配置DNS服务器地址,以提高网络解析效率和访问体验。通过智能线路解析功能,域名解析可以根据访问者的IP来源和类型进行差异化处理,从而实现更优的网络性能。 ... [详细]
  • CentOS 7 磁盘与文件系统管理指南
    本文详细介绍了磁盘的基本结构、接口类型、分区管理以及文件系统格式化等内容,并提供了实际操作步骤,帮助读者更好地理解和掌握 CentOS 7 中的磁盘与文件系统管理。 ... [详细]
  • 探讨如何通过编程技术实现100个并发连接,解决线程创建顺序问题,并提供高效的并发测试方案。 ... [详细]
  • 本周信息安全小组主要进行了CTF竞赛相关技能的学习,包括HTML和CSS的基础知识、逆向工程的初步探索以及整数溢出漏洞的学习。此外,还掌握了Linux命令行操作及互联网工作原理的基本概念。 ... [详细]
  • 本文详细介绍了如何使用PHP检测AJAX请求,通过分析预定义服务器变量来判断请求是否来自XMLHttpRequest。此方法简单实用,适用于各种Web开发场景。 ... [详细]
  • 本文介绍了如何在具备多个IP地址的FTP服务器环境中,通过动态地址端口复用和地址转换技术优化网络配置。重点讨论了2Mb/s DDN专线连接、Cisco 2611路由器及内部网络地址规划。 ... [详细]
  • 深入理解Cookie与Session会话管理
    本文详细介绍了如何通过HTTP响应和请求处理浏览器的Cookie信息,以及如何创建、设置和管理Cookie。同时探讨了会话跟踪技术中的Session机制,解释其原理及应用场景。 ... [详细]
  • 创建第一个 MUI 移动应用项目
    本文将详细介绍如何使用 HBuilder 创建并运行一个基于 MUI 框架的移动应用项目。我们将逐步引导您完成项目的搭建、代码编写以及真机调试,帮助您快速入门移动应用开发。 ... [详细]
author-avatar
mobiledu2502925241
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有