oracle----dblink知识详解

article/2025/9/13 9:43:20

一.  dblink定义

dblink(Database Link)数据库链接顾名思义就是数据库的链接,当我们要跨本地数据库,访问另外一个数据库表中的数据时,本地数据库中就必须要创建远程数据库的dblink,通过dblink本地数据库可以像访问本地数据库一样访问远程数据库表中的数据。简而言之就是在当前数据库中访问另一个数据库中的表中的数据。

 

二.  简述dblink的创建方式

①  通过pl/sql developer图形化创建

②  通过sql语句创建

create  database   link   link名称

connect  to  对方数据库用户名  identified  by  对方数据库用户密码

using    'ORCL' 

备注:ORCL是数据库的名称,一般在C:\DevSuiteHome1\network\ADMIN下的tnsnames.ora中进行配置

③  通过sql语句创建(和②的方式差不多,但是这种方法比较好,避免了本地配置)

create  database   link   link名称

connect  to  对方数据库用户名  identified  by  对方数据库用户密码

using    '(DESCRIPTION =(ADDRESS_LIST =

              (ADDRESS =

              (PROTOCOL = TCP)(HOST = 要连接的数据库所在服务器的IP地址)(PORT = 1521)))

               (CONNECT_DATA =

               (SERVICE_NAME = 要连接的数据库的在本地的服务名(即要连接的数据库的SID))))';     

备注:using后面的内容就是C:\DevSuiteHome1\network\ADMIN下tnsnames.ora中的内容,取得是里面的具体内容,而不是用的别名,这种方式比上面一种好,不需在本地的tnsnames.ora文件中进行配置,直接将数据库放入,灵活性较强。

 

三.  详述赋予权限

①  先确定用户是否有创建dblink的权限:

select  *  from  user_sys_privs  where  privilege  like  upper('%DATABASE LINK%');

 我的apps用户下的权限:

解释一下:

CREATE  PUBLIC  DATABASE  LINK:表示所创建的dblink所有用户都可以使用

CREATE  DATABASE  LINK:表示所创建的dblink只能是创建者能使用,别的用户不可以使用 

DROP  PUBLIC  DATABASE  LINK :   表示所创建的dblink所用用户都可以删除

 

②  如果指定用户没有上面的几个权限,需要通过sys用户(这个充当管理员角色,有很大权限)赋予权限,你需要登陆sys用户,并在sys用户下执行以下语句:

grant  CREATE  PUBLIC  DATABASE  LINK ,   DROP  PUBLIC  DATABASE  LINK  to  apps; 

 

四.   一些常规操作

1.  连接成功后从所连接的数据库中取数的方法

select   *   from   table_name(表名)@dblink(dblink名);

备注:只需在表名的后面加上"@DBLINK名字"即可。   

2.  在当前数据库下查看所有的DBLINK的方法

select   *   from   dba_db_links;    

3.  删除当前数据库下的一个指定的DBLINK的方法

①  如果创建的是一个public的DBLINK,删除时需要用

        drop  public  database  link  dblink(dblink名)

②   如果创建的是一个private的DBLINK,删除时需要用

        drop  database  link  dblink(dblink名)

4.  注意点

创建数据库链接的帐号必须有CREATE DATABASE LINK或CREATE PUBLIC DATABASE LINK的系统权限;

用来登录到远程数据库的帐号必须有CREATE SESSION权限

 

五.  具体的操作流程

1.要求两个账户

apps用户,密码:apps     

core用户,密码:1234

2.用户apps(已有用户),创建core(需在sys用户中创建)用户

create   user   core   identified   by   1234

3.赋予core登陆权限(需在sys用户中赋权限)

grant   create   session   to   core

4.  apps用户中查看是否有创建dblink的权限

select  *  from   user_sys_privs    where   privilege  like  upper('%DATABASE LINK%') ;

得到如下权限:

5.  先在core表中创建一个表,并插入数据

创建student表:

              create table student

              (  STUDENT_NO     VARCHAR2(10) not null,

                 STUDENT_NAME   VARCHAR2(20),

                 STUDENT_AGE    NUMBER(2),

                 STUDENT_GENDER VARCHAR2(5));

student表中插入数据:

                insert into student values ('s001','张三',23,'男');

                insert into student NT values ('s002','李四',23,'男');

                insert into student values ('s003','吴鹏',25,'男');

                insert into student values ('s004','琴沁',20,'女');

6.  查看core用户中的student表

7. 在apps中创建dblink并执行

create   public   database   link    link2

connect  to  core  identified  by   "1234"

using  '(DESCRIPTION=            

            (ADDRESS=(PROTOCOL=tcp)(HOST=xxx.xxx.com)(PORT=1541))    

            (CONNECT_DATA=           

            (SERVICE_NAME=dedicated)       

            (INSTANCE_NAME=UAT)))'

8.在apps用户中查看core用户中的student表

Select   *    from    student@LINK2

可以看到core中student的表

至此dblink就建立完成了,如有错误之处还请指出,谢谢各位!!!

 

 

 

 

 


http://chatgpt.dhexx.cn/article/9gRPAFqS.shtml

相关文章

DBlink

DBlink 文章目录 DBlink一、dblink是什么?二、Oracle数据库建立dblink1.语句方式2.PL/SQL developer图形界面化方式 三、查看是否成功建立dblink 一、dblink是什么? 个人理解:dblink在一个数据库中访问另一个数据库建立起来的通道。 二、Or…

Oracle dblink详解

Oracle dblink详解 概述 1、database link是定义一个数据库到另一个数据库的路径的对象,database link允许你查询远程表及执行远程程序。在任何分布式环境里,database都是必要的。另外要注意的是database link是单向的连接。 2、在创建database link的…

Web应用快速开发平台 WebBuilder 8.6 企业版发布

WebBuilder是一款强大的企业级Web应用快速开发平台,使用WebBuilder可以快速开发出强大而高效的跨平台的常规应用和移动应用系统。 WebBuilder官网:http://www.geejing.com 社区:http://www.putdb.com/ 版本更新记录 2019-06-21 发布 V8.6 …

使用Eclipse来开发调试WebBuilder项目

使用Eclipse来开发调试WebBuilder项目 下载,安装Groovy插件: 下载地址: Groovy-Eclipse 下载,安装Tomcat插件: 下载地址: Tomca-Eclipse 打开Eclipse,配置Tomcat插件,如下图所示: 新建一个Java Project项目 ​ 命名为WB8,然后在项目的右键菜单里,添加Groovy支持!如下图所示: 打…

Web软件快速开发平台WebBuilder V8.7.1发布

WebBuilder是一款强大,全面和高效的应用开发和运行平台。基于浏览器的集成开发环境,可视化和智能化的设计,能轻松完成常规应用和面向手机的移动应用开发。高效、稳定和可扩展的特点,适合复杂企业级应用的运行。跨平台、数据库和浏…

快速开发平台 WebBuilder 8.4 发布

WebBuilder是一款强大,全面和高效的应用开发和运行平台。基于浏览器的集成开发环境,可视化和智能化的设计,能轻松完成常规应用和面向手机的移动应用开发。高效、稳定和可扩展的特点,适合复杂企业级应用的运行。跨平台、数据库和浏…

Web软件快速开发平台 WebBuilder 8.7 发布

WebBuilder是一款强大,全面和高效的应用开发和运行平台。基于浏览器的集成开发环境,可视化和智能化的设计,能轻松完成常规应用和面向手机的移动应用开发。高效、稳定和可扩展的特点,适合复杂企业级应用的运行。跨平台、数据库和浏…

WebBuilder的下载以及实现连接Oracle数据

WebBuilder的下载网上有许多就不说了。 首先解压压缩包当中的wb文件到Tomcat的webapp当中去如图: 将压缩包中的wb文件解压到Tomcat中 打开wb问价夹创建一个META-INF文件夹 在meta-inf文件夹当中创建一个context.xml文件 context.xml文件党总的内容为: <?xml version"…

webbuilder连接mysql_Webbuilder学习指导书.doc

您所在位置&#xff1a;网站首页 > 海量文档 &nbsp>&nbsp计算机&nbsp>&nbspWeb服务 Webbuilder学习指导书.doc60页 本文档一共被下载&#xff1a;次,您可全文免费在线阅读后下载本文档。 下载提示 1.本站不保证该用户上传的文档完整性&#xff0c;不…

005-WebBuilder使用结构元素进行网页布局

这个太零散了直接在代码上写的注释&#xff0c;第一份前端代码 <!DOCTYPE html> <html> <!--文档基本结构--><head><!--设置section或者page的页眉--><meta charset"utf-8" /><!--meta网页元信息--><title>业务种类…

Webbuilder取值记录

一、从module.serverScript页面返回数据方法&#xff1a; 在B 的dataprovider中写SQL语句&#xff0c;也可以直接在serverScript中写&#xff0c;如果在serverScript中写的话&#xff0c;应该是必须进行app.send();一下&#xff0c;&#xff08;我也没试不send能不能接收&#…

003-Webbuilder应用HTML表单

HTML和控件的混合编程 通常普通的表单界面使用UI控件来构建&#xff0c;对于复杂的界面也可以使用HTML来直接构建&#xff0c;WebBuilder中提供特定的语法可以把相关的控件比如日期控件插入到指定的DOM位置。HTML和控件的混合编程一方面可以使界面的构建更加灵活&#xff0c;另…

004-webbuilder所有布局

viewport viewport表示整个页面的显示视口&#xff0c;他把页面渲染到浏览器的body中&#xff0c;他的大小等于浏览器body的大小,如果整个页面需要占据整个浏览器body(全屏显示)&#xff0c;可以使用该控件作为顶层控件。大部分需要在浏览器中显示的模块通常都会使用viewport作…

001-WebBuilder安装和部署

运行环境 WebBuilder是一款通用平台&#xff0c;但是我们用windows 操作系统&#xff1a;win10JDK环境&#xff1a;1.8服务器&#xff1a;tomcat数据库&#xff1a;SqlServer浏览器&#xff1a;Chrome移动设备&#xff1a;安卓 安装WebBuilder 通常只要复制WebBuilder应用目…

WebBuilder开发笔记

WebBuilder开发笔记记录 基础知识 WebBuilder快捷键 控件配置 双击左侧控件箱中的控件将打开该控件&#xff0c;控件编辑器由General、Configs和Events 3个标签页组成&#xff0c;分别代表控件的常规属性、配置项属性和事件。 General标签页&#xff1a; autoCreate&#xff…

010-WebBuilder-编写可复用模块+阶段实战效果与代码

编写可复用模块 可复用的模块是指某个模块可以作为公共模块应用到其它模块中,开发大型项目时,构建高度可复用的模块,对质量和系统的可维护性具有重要意义. WebBuilder具有很强的模块复用能力,构建的模块可通过多种方式被别的模块引用.引用的模块和被引用的模块可以相互访问,使…

webbuilder mysql_快速开发平台 WebBuilder 8 的 安装

WebBuilder是一款强大&#xff0c;全面和高效的应用开发和运行平台。基于浏览器的集成开发环境&#xff0c;可视化和智能化的设计&#xff0c;能轻松完成常规应用和面向手机的移动应用开发。包含多项先进技术&#xff0c;使应用系统的开发更快捷和简单。 运行环境和系统安装 We…

005-webbuilder应用-访问数据库-basic-dialog-edit

访问数据库的方式 WebBuilder默认提供基于JDBC的数据库访问控件和APi来访问数据库&#xff0c;具有灵活的访问方式和高效的性能。这些控件和API提供了从运行SQL&#xff0c;获取数据到自动生成指定类型的脚本等一系列操作。 使用数据库访问控件 数据库访问控件默认位于控件箱…

002-webBuilder的HelloWorld应用与表格应用

Hello World应用 依照惯例&#xff0c;还是helloWorld 打开集成开发环境 主界面选择【开发套件】->【集成开发环境】或者直接输入[url/ide]打开 添加Hello World模块 1. 创建目录 点击左侧文件列表中的【模块】节点&#xff0c;点击顶部工作条【添加目录】按钮或者直…

强大的快速开发平台WebBuilder(简称WB)

WebBuilder是一款强大&#xff0c;全面和高效的应用开发和运行平台。基于浏览器的集成开发环境&#xff0c;可视化和智能化的设计&#xff0c;能轻松完成常规应用和面向手机的移动应用开发。包含多项先进技术&#xff0c;使应用系统的开发更快捷和简单。 WB集成开发环境 wb的…