当前位置: 首页 > news >正文

【Oracle】创建公共数据连接

需求描述

两个oracle数据库,想从B数据库创建视图脚本访问A数据库相关表的数据,该怎么访问呢?

解决方法

在Oracle数据库中,创建公共数据库链接(Public Database Link)可以允许数据库中的任何用户访问远程数据库。

在B数据库中(一定是在B数据库中)执行创建连接的脚本,使用以下语法创建公共数据库链接:

CREATE PUBLIC DATABASE LINK remote_db_link
CONNECT TO remote_username IDENTIFIED BY "remote_password"
USING 'remote_tns_name';

参数说明:

  • remote_db_link:数据库链接名称(自定义,如 sales_db)。

  • remote_username:远程数据库的用户名(即A库的用户名)。

  • remote_password:远程用户的密码(即A库的密码)。

  • remote_tns_name:远程数据库的 TNS 连接描述符(配置在 tnsnames.ora 中)。

 或者直接指定连接信息(无需TNS),如下:

CREATE PUBLIC DATABASE LINK remote_db_link
CONNECT TO remote_username IDENTIFIED BY "remote_password"
USING '(DESCRIPTION=(ADDRESS=(PROTOCOL=TCP)(HOST=remote_host)(PORT=1521))(CONNECT_DATA=(SERVICE_NAME=remote_service_name)))';

参数说明:

  • HOST:远程数据库的ip(即A库的数据库ip)。

  • PORT:远程数据库的端口号(即A库的端口号,数据库默认端口为1521,具体看项目的配置)。

  • SERVER_NAME:远程数据库的服务名(即A库的服务名,默认是orcl,具体看项目的配置)。

具体配置实例如下:

CREATE PUBLIC DATABASE LINK link_name_suibianqi
CONNECT TO my_test IDENTIFIED BY "my123456"
USING '(DESCRIPTION=(ADDRESS=(PROTOCOL=TCP)(HOST=172.168.xx.xx)(PORT=51521))(CONNECT_DATA=(SERVICE_NAME=orcl)))';

注意:要有创建连接的权限(CREATE PUBLIC DATABASE LINK)或者使用系统管理员权限。

这样就可以在B数据库中访问A数据库的内容,访问方式为:

select * from a_table@link_name_suibianqi

其中:a_table为A库的数据表;

开发代码

参考文章

https://yr7ywq.smartapps.baidu.com/?content_id=6e4c521&word=Oracle%2B%E5%88%9B%E5%BB%BA%E5%85%AC%E5%85%B1%E6%95%B0%E6%8D%AE%E8%BF%9E%E6%8E%A5&_chatQuery=Oracle%20%E5%88%9B%E5%BB%BA%E5%85%AC%E5%85%B1%E6%95%B0%E6%8D%AE%E8%BF%9E%E6%8E%A5&searchid=16684570166696473139&_chatParams=%7B%22chat_no_login%22%3Atrue%2C%22agent_id%22%3A%22c816%22%2C%22content_build_id%22%3A%226e4c521%22%2C%22from%22%3A%22q2c%22%2C%22token%22%3A%22uutwWciT6qN1bai7ShhgJhD6QMg9RAQYyU8LacbDbjEeuBMmyNf%2FFqvS3HQ2frFADtVRT8gDFD0GiZN%2FmNx0k%2FzAnm3tGwuntlZhiEflriY2E78G3ObnVQWdrvqoZxmTKbT7%22%7D&_swebScene=3711000610000000

https://blog.csdn.net/weixin_45833902/article/details/143301216 

相关文章:

  • 分布式事务之Seata
  • 【MATLAB代码】扩展卡尔曼滤波估计pmsm的位置误差
  • 如何评估物联网框架的交互体验?
  • 五分钟图解Diffusion扩散模型
  • Qt 的多线程
  • JVM—Java对象
  • Vue3中reactive响应式使用注意事项
  • 港口危货储存单位主要安全管理人员考试题
  • Android正则表达式
  • 技术文档:SINAMICS S120 变频器搭配 GRJ9000S 系列 EMC 电源滤波器
  • 教育行业课件共享难题:大文件分发效率优化方案
  • 【Java高阶面经:消息队列篇】22、消息队列核心应用:高并发场景下的解耦、异步与削峰
  • 龙虎榜——20250523
  • 继续对《道德经》第57章至第81章进行数学形式化建模
  • 今日打卡,Leetcode第四题:寻找两个正序数组的中位数,博主表示就会sorted
  • 若依 Plus 自定义字典的使用
  • 如何设置名称服务器
  • 2025年5月软考系分论文预测
  • 【解决】GIT空文件夹不被追踪导致的分支污染
  • 大疆制图跑飞马D2000的正射与三维模型
  • 软件外包公司创业/seo百度首页排名业务
  • 外贸做的社交网站有哪些/谷歌推广方案
  • 网站建设验收/怎么学seo基础
  • 制作网站公司年收入多少/新手做外贸怎么入门
  • 驻马店做网站/怎样注册网站
  • 网站设计制作策划书/英语培训