zoukankan      html  css  js  c++  java
  • 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)))

    以上红色字体内容从以下地方可查询:product10.2.0client_1 etworkadmintnsnames.or

    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'

    我的项目中用到的到个DBLINK:

     当前数据库名为COLLECT_DB_SH,所建立的DBLINK的名称为DBLINKA27,

    其中"数据库"这一项中的字符串为:(DESCRIPTION =
        (ADDRESS_LIST =
          (ADDRESS = (PROTOCOL = TCP)(HOST = 192.168.0.105)(PORT = 1521))
        )  (CONNECT_DATA =
          (SERVICE_NAME = orcl)
        ))

  • 相关阅读:
    跨域上传图片的尝试过程,最终成功了。哈哈
    老子再也不加什么所谓的技术群了,顶撞群主的话,就被踢了。
    开发使用的插件
    设计原则记录
    程序员修神之路--redis做分布式锁可能不那么简单
    程序员过关斩将--面试官再问你Http请求过程,怼回去!
    程序员修神之路--问世间异步为何物?
    程序员修神之路--提高网站的吞吐量
    程序员过关斩将--你的业务是可变的吗(福利你领了吗)
    程序员修神之路--🤠分布式高并发下Actor模型如此优秀🤠
  • 原文地址:https://www.cnblogs.com/zhengwei-cq/p/7773345.html
Copyright © 2011-2022 走看看