pL/SQL 创建DBLIKN
某些时候,需要关联不同的数据库进行数据查询、操作等。
在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.or
- DEMO =
- (DESCRIPTION =
- (ADDRESS_LIST =
- (ADDRESS = (PROTOCOL = TCP)(HOST = 192.168.1.1)(PORT = 1521))
- )
- (CONNECT_DATA =
- (SERVER = DEDICATED)
- (SERVICE_NAME = DEMO)
- )
- )
将上面的"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'
我的项目中用到的到个DBLINK:
当前数据库名为COLLECT_DB_SH,所建立的DBLINK的名称为DBLINKA27,
其中"数据库"这一项中的字符串为:(DESCRIPTION =
(ADDRESS_LIST =
(ADDRESS = (PROTOCOL = TCP)(HOST = 192.168.0.105)(PORT = 1521))
) (CONNECT_DATA =
(SERVICE_NAME = orcl)
))
pL/SQL 创建DBLIKN的更多相关文章
- PL/SQL创建数据表空间
创建数据表空间create tablespace stbss datafile 'E:\oracle\product\10.2.0\oradata\orcl\stbss_temp01.dbf' siz ...
- PL/SQL 创建视图语法
使用create view 语句创建视图 create [or replace][force | noforce] view [user.] viewName (column [,column2].. ...
- PL/SQL 创建用户及权限操作
1.创建User create user user01 identified by user01, 2.赋予连接数据库的权限 grant connect to user01; 3.把user00的表E ...
- PL/SQL创建用户
步骤一:新建 步骤二:填写信息 对应SQL代码 -- Create the user create user WENT identified by "longrise" defau ...
- PL/Sql 中创建、调试、调用存储过程
存储过程的详细建立方法 1.先建存储过程 左边的浏览窗口选择 procedures ,会列出所有的存储过程,右击文件夹procedures单击菜单"new",弹出 template ...
- 卸载了PL/SQL Developer,说一下与Toad for Oracle的对照
曾经一直用PL/SQL Developer来管理Oracle.发现真的使用起来非常不方便.打开非常卡,并且界面左上角总是多出那个框,怎么都无法设置默认隐藏掉. 唯一让人认为非常值得的就是有一个美化工具 ...
- 全面对比T-SQL与PL/SQL
1)数据类型 TSQL PL/SQL numeric(p,s) numeric(p,s) or NUMBER(p,s) decimal(p,s) decimal(p,s) or NUMBER(p,s) ...
- Oracle实践--PL/SQL综合之分页存储过程
Oracle PL/SQL分页的存储过程 Oracle,分页,存储过程三个词结合起来,来个综合点的小练习,运用之前的PL/SQL创建一个分页的存储过程,仅仅须要简单几步就可以. 1.声明一个引用游标 ...
- Oracle数据库的创建以及远程连接(PL/SQL Developer远程连接数据库)
dbca: 创建数据库 netca: 创建监听程序 netmgr: 配置监听服务(将数据库服务注册到监听器上) netca 与 netmgr 两步可以直接在 ORACLE_HOME/network/a ...
随机推荐
- const限定符、constexpr和常量表达式------c++ primer
编译器将在编译过程中把用到const变量的地方都替换成对应的值,为了执行这种替换,编译器必须知道变量的初始值.如果程序包含多个文件,则那个用了const对象的文件都必须能访问到它的初始值才行.要做到这 ...
- HTML中      等6种空白空格
- 【hadoop】 eclipse中的“run on hadoop”和打包成jar提交任务的区别
eclipse中的 调试运行 及 “run on hadoop”默认只是运行在单机上的,因为要想在集群中让程序分布式运行还要经历上传类文件.分发到各个节点等过程, 一个简单的“run on hadoo ...
- 【离散数学】SDUT OJ 补图
补图 Time Limit: 1000 ms Memory Limit: 65536 KiB Submit Statistic Problem Description 题目给出一个无向图,求该无向图关 ...
- SDUT OJ 数据结构实验之链表三:链表的逆置
数据结构实验之链表三:链表的逆置 Time Limit: 1000 ms Memory Limit: 65536 KiB Submit Statistic Discuss Problem Descri ...
- HBASE常用操作增删改查
http://javacrazyer.iteye.com/blog/1186881 http://www.cnblogs.com/invban/p/5667701.html
- 洛谷 P3391【模板】文艺平衡树(Splay)
题目背景 这是一道经典的Splay模板题--文艺平衡树. 题目描述 您需要写一种数据结构(可参考题目标题),来维护一个有序数列,其中需要提供以下操作:翻转一个区间,例如原有序序列是5 4 3 2 1, ...
- python之time和datetime的常用方法
python之time和datetime的常用方法 一.time的常用方法: import time,datetime # 时间有三种展现方式:时间戳,时间元组,格式化的时间print(time. ...
- JavaScript 中this 初步理解笔记
Javascript中函数中的this通常指向的是函数的拥有者,这个拥有者就是上下文执行对象:另外一点需要注意,this只能在javascript函数内部使用.
- 洛谷 P3267 [JLOI2016/SHOI2016]侦察守卫(树形dp)
题面 luogu 题解 树形\(dp\) \(f[x][y]表示x的y层以下的所有点都已经覆盖完,还需要覆盖上面的y层的最小代价.\) \(g[x][y]表示x子树中所有点都已经覆盖完,并且x还能向上 ...