oracle dblink 验证,Oracle DBLINK 简单使用

oracle在进行跨库访问时,可以通过创建dblink实现,今天就简单的介绍下如果创建dblink,以及通过dblink完成插入、修改、删除等操作

首先了解下环境:在tnsnames.ora中配置两个数据库别名:orcl(用户名:wangyong 密码:1988)、orcl2(用户名:wangyong 密码:123456),在orcl中     创建database link来访问orcl2

bd2bd2814e975fe5303eec37eb75194e.png

第一步:赋予权限

在创建database link之前,我们需要判断,登陆的用户是否具备创建database link 的权限,所以我们执行以下的语句(用wangyong用户登陆orcl):

--查看wangyong用户是否具备创建database link 权限

select * from user_sys_privs where privilege like upper('%DATABASE LINK%') AND USERNAME='WANGYONG';

如果查询有返回行,则表示具备创建database link权限,否则,则需要使用sys登陆orcl为WANGYONG用户赋予创建权限

--给wangyong用户授予创建dblink的权限

grant create public database link to wangyong;

此时,再执行上面查看是否具备权限的sql语句,会发现有返回行,表示,WANGYONG这个用户已经具备创建database link的权限

第二步;创建database link

我所了解到的创建方式有两种:1)通过pl/sql developer图形化创建、2)通过sqlplus中的sql语句创建,依次来看

1)pl/sql developer 图形化创建

0f106721676d2f09021b7eb80602009c.png

填写完成后点击“Apply”按钮即可创建成功。

2)sql语句创建

--注意一点,如果密码是数字开头,用“”括起来

create public database link TESTLINK2 connect to WANGYONG identified by "123456" USING 'ORCL21'

这样,就完成了简单database简单的创建

第三步:操作

首先,我们需要在ORCL2库中新建一张表,并插入部分数据,如下图:

6660006f50c582c8e00b362bcd931d33.png

现在,我们通过database link 在orcl中访问这张属于orcl2库中WANGYONG的表COMPANY

0579bf7c5e16eb0abca5c093d1302249.png

从截图中可以看到,在ORCL中可以成功访问到ORCL2中用户WANGYONG的表

下面,利用同样的方式,进行插入,修改,删除操作,依次看截图,每一次操作后均执行查询语句,可对比执行效果:

1)插入

e5708fd1d31e9acc19758d5540e3b153.png

2)修改

8ea1b966a1934077b2ea53fca2635cb4.png

3)删除

cf4cfb4ddb36988bf5a32bbda5722ea5.png

至此,简单的dblink操作就可以了,对于上面的链接字符串,还可以创建同义词代替,会稍微省点事

-- 创建同义词

create synonym TESTSYNONYM FOR company@TESTLINK1;

那么上面的查询、插入、修改、删除中可直接用WYSYNONYM代替company@TESTLINK1即可,例如查询语句可改成如下方式(插入,修改,删除类似):

--查询ORCL2中WANGYONG用户的表COMPANY

SELECT * FROM TESTSYNONYM order by id

今天是大年初一,写完睡觉!!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/427717.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

六、表达式:前缀后缀

count为运算后的值。 转载于:https://www.cnblogs.com/Strugglinggirl/p/9026856.html

ubuntu中安装hadoop集群

hadoop是由java 语言编写的主从结构分布式计算存储架构 准备工作: 操作系统: Ubuntu16.04 软件安装包:jdk-8u171-linux-x64.tar.gz ; hadoop-2.6.5.tar.gz 配置环境:3台虚拟机 master:192.168.122.10node1 …

linux 内核3.8,[Beaglebone] BBB迁移到linux 3.8实时内核

8种机械键盘轴体对比本人程序员,要买一个写代码的键盘,请问红轴和茶轴怎么选?动机之前使用TI SDK提供的3.2标准内核,在和fpga进行高速通信时出现CPU 100%中断响应延迟严重(偶尔>50ms)造成数据丢包。为达到严格的中断响应速度(&…

软考解析:2017年上半年下午试卷

软考解析:2017年上半年下午试卷 第一题:数据流图 第二题:数据库设计 第三题:面向对象开发 真题 理论 类图 状态图 解题思路 第四题:算法与数据结构 第五题:设计模式与Java转载于:https://www.cnblogs.com/…

PHP配置开发环境

PHP配置开发环境 1.建3个文件夹: 2:找到apache的安装包 3:可以随意写 4: 5:找到你的apache的路径 6:注意:不要解压到当前文件夹 7:剪切替换名字修改为php 8:在apache >…

linux下tar包安装sudo命令,ubuntu12.04LTS安装gv-412-Linux-x86.tar.gz方法

折腾了2天多,终于装好了。操作系统Ubuntu 12.04 LTS (在win7系统下用ubuntu的windows安装工具安装的,有点类似双系统)gaussian view程序gv-412-Linux-x86.tar.gz(软件可以从这里找到一些Linux&WinGaussian&gview下载地址)特别提示下面的设计到的…

6章 Models

传统的MVC结构中,有模型这么一个概念。Django中,Models又是怎么一回事呢? 刚才生成的这些乱七八糟的数据迁移就是Django自带的一些应用 INSTALLED_APPS [django.contrib.admin,django.contrib.auth,django.contrib.contenttypes,django.contrib.sessio…

android activity之间传递对象,Android Activity之间的数据传递

一、通过startActivity来进行Activity的传值在Android中,如果我们要通过一个Activity来启动另一个Activity,可以使用 startActivity(Intent intent)方法来传入一个Intent对象,这个Intent对象我们可以精确的指定我们需要跳转的Activity上&…

[UE4]更新UI的三种方式

一、函数绑定 二、属性绑定 只会列出匹配的数据类型。 三、事件驱动更新 啦啦啦啦啦 结论:函数和属性绑定的原理都是每帧都去调用绑定的函数/属性,效率比较低下,一般不推荐使用。事件驱动更新的效率最好,性能最好。 在正式的产品开…

使用handler倒计时

点击button暂停 public class MainActivity extends AppCompatActivity {BindView(R.id.button)Button button;BindView(R.id.first_textview)TextView textView;Handler mHandler;volatile boolean flagtrue;Object objectnew Object();MThread mThread;Overrideprotected voi…

android实现3种定位的切换,Android 滑动定位+吸附悬停效果实现

在前两篇文章中,分别介绍了tablayoutscrollview 和 tablayoutrecyclerview 实现的滑动定位的功能,文章链接:Android 实现锚点定位Android tabLayoutrecyclerView实现锚点定位仔细看的话,这种滑动定位的功能,还可以整体…

unity mmd不支持android,MMD模型导入Unity的解决方案

前言学了Unity后,总是感觉缺少资源,包括人物、物品模型、动作数据、贴图、特效,各种插件,还被骗去学了几天各种美术软件。说起模型和动作数据,就又想到MMD,毕竟有那么现成的资源,虽然不能商用&a…

android中的 listview,Android中ListView的初步认识(一)

ListView是安卓开发中常用的组件之一,它的作用是在一个垂直的列表中展现出所需的项目。接下来,我们看一下ListView的实现方法:第一种 是常见的在XML中定义然后在activity中使用findViewById来获取的方式(这个相当基础了,直接代码)…

android开发app初始化,安卓快速开发框架(一)XBaseAndroid初始化使用

XBaseAndroid如果您需要使用最新版可以去github查看。该文章描述的是1.0.9.4版本。使用AndroidStudio 3.0创建一个新的安卓项目如果您不知道如何创建,请猛戳此处。配置仓库引用项目结构.png点击build.gradle(Project),添加以下maven仓库。allprojects {r…

Python之模块与包(下)

1、什么是包 #官网解释 Packages are a way of structuring Python’s module namespace by using “dotted module names” 包是一种通过使用‘.模块名’来组织python模块名称空间的方式。 #具体的:包就是一个包含有__init__.py文件的文件夹,所以其实我…

接口测试学习——操作MySQL

第一步要导入第三方的jar包。(jemeter不能直接连接MySQL) 操作方法就是点击“测试计划”,右侧展开的页面中选择【浏览】,选择MySQL的jar包。导入即可。 第二步:创建数据库链接的配置:MySQL的路径URL、端口号…

html5网页自动滚动,Html5 滚动穿透的方法

问题背景:网站需要在移动端完成适配,针对移动端H5以及web端采用的都是bluma这种flex布局解决方案在H5中使用的列表采用的是 react-virtualized 来绘制表格为了展示表格中单行数据的具体详情,通常的解决方案是采用新页面或者是弹窗来完成。这里采用的是弹…

mac如何看html5视频播放器,苹果Mac系统看HTML5视频教程介绍

上一回,小编教了大家一个Mac用 HTML5 免费看优酷和土豆等付费视频,这回小编又找到一个用HTML5看视频的好方法,很多很好用的资源,你可以在Mac上看各种地方台的直播以及乐视、凤凰卫视、TVB、东森等港澳台电视节目哦!大部…

html中设置负边距的意义,css负边距之详解

自从1998年CSS2作为推荐以来,表格的使用渐渐退去,成为历史。正因为此,从那以后CSS布局成为了优雅代码的代名词。对于所有设计师使用过的CSS概念,负边距作为最少讨论到的定位方式要记上一功。这就像是在线纹身-每个人都会做&#x…

warning: expression result unuesd 可能原因是函数忘了加括号,

转载于:https://www.cnblogs.com/chulin/p/9082833.html