• Oracle跨数据库访问


    Oracle对数据库的安全比较敏感,所以对于跨库访问数据库有点麻烦.

    一,访问其它库办法
     简单说先建个连接,然后再select * from 连接 就OK
    语法:
    CREATE DATABASE LINK linkname CONNECT TO username IDENTIFIED BY password USING sqlnet_string;
    说明:
     linkname  指的是连接名字,可随便取一个
     username  连接目标数据库的用户名
     passwrod  连接目标数据库的密码
     sqlnet_string  指的连接数据库的名字,注意一定加上引号;
    例子:
     CREATE DATABASE LINK linkA CONNECT TO test IDENTIFIED BY test USING 'test.ly';
     建一个名字为linkA连接,指向test.ly数据库,登陆数据库帐号test 密码test
     完成以上之后就可以通过 select * from 表名@linkA ; 这样方法来访问.

    二,还可以使用 替代名 来简化访问名字
    CREATE SYNONYM synonym_name FOR tablename@linkname;
    说明:
     synonym_name   代替名字
     tablename@linkname  需要被代替的字符串,
     这里要说一下,代替其实就是做个字符串替换工作. 也就是说能把普通的字符串也做个替换动作;
    例子:
     CREATE SYNONYM re1 FOR test.table1;
     这样之后,就可以通过 select * from re1; 来访问test.table1这个表了.要注意一点,
     表的方案表名一定要写上.
     CREATE SYNONYM re1 FOR tablename@linkname
     这样做就是可以将一个连接替换成re1,同样可以用 select * from re1 来访问.

    example:
    使用这个的前提条件是在当前的Oracle的.net manager里建立了到目标库的别名prd1
    CREATE DATABASE LINK linkA CONNECT TO warehse1 IDENTIFIED BY warehse1 USING 'prd1';
    select * from sku@linkA

  • 相关阅读:
    pythonldap 简单试用
    shell 将文件名读入数组
    pytest命令行传入自定义的参数到测试文件中
    Python实现在不同Linux主机之间拷贝文件
    使用minio搭建私有化对象存储服务
    CPU/GPU/NPU
    pytest 内置和自定义marker
    安装SQLite3引发的库问题
    C标准库——程序员等级
    这样还弄不死指针?
  • 原文地址:https://www.cnblogs.com/mikemao/p/1325248.html
Copyright © 2020-2023  润新知