我的编程空间,编程开发者的网络收藏夹
学习永远不晚

Oracle配置dblink访问PostgreSQL的操作方法

短信预约 -IT技能 免费直播动态提醒
省份

北京

  • 北京
  • 上海
  • 天津
  • 重庆
  • 河北
  • 山东
  • 辽宁
  • 黑龙江
  • 吉林
  • 甘肃
  • 青海
  • 河南
  • 江苏
  • 湖北
  • 湖南
  • 江西
  • 浙江
  • 广东
  • 云南
  • 福建
  • 海南
  • 山西
  • 四川
  • 陕西
  • 贵州
  • 安徽
  • 广西
  • 内蒙
  • 西藏
  • 新疆
  • 宁夏
  • 兵团
手机号立即预约

请填写图片验证码后获取短信验证码

看不清楚,换张图片

免费获取短信验证码

Oracle配置dblink访问PostgreSQL的操作方法

Oracle dblink的底层是通过ODBC连接PostgreSQL执行SQL的,需安装unixODBC和PostgreSQL ODBC驱动(它们的配置文件是:odbcinst.ini和odbc.ini),还需配置Oracle网络使用这个驱动。以下操作都是在Oracle服务器上进行:

以root用户安装unixODBC:

yum install unixODBC unixODBC-devel.x86_64

unixODBC相当于Linux中管理所有数据库ODBC驱动的管理器。

以root用户安装PostgreSQL ODBC驱动
编译安装,以root执行:

yum install libpq5-devel.x86_64
wget https://ftp.postgresql.org/pub/odbc/versions/class="lazy" data-src/psqlodbc-12.02.0000.tar.gz
tar xf psqlodbc-12.02.0000.tar.gz
cd psqlodbc-12.02.0000
./configure
make
make install

默认安装到/user/local/lib

配置odbcinst.ini和odbc.ini,以root用户执行:

vim /etc/odbcinst.ini(不区分大小写)

/usr/local/lib/psqlodbcw.so 是PostgreSQL ODBC驱动的库。
/usr/lib64/libodbcpsqlS.so 是unixODBC的库。

vim /etc/odbc.ini

这里Driver应与odbcinst.ini中的[PostgreSQL]对应,可以取任何名字,但两者需要相同。其它参数视具体PostgreSQL服务器而定。[PG]是一个连接PostgreSQL的配置名称,其它应用程序(如Oracle)就是引用这个名称访问PostgreSQL。
测试一下这个ODBC连接能否工作:

配置Oracle网络,以oracle用户执行,涉及3个Oracle配置文件的修改:

$ORACLEHOME/network/admin/listener.ora
$ORACLEHOME/hs/admin/init<SID_NAME>.ora
$ORACLEHOME/network/admin/tnsnames.ora

1)在listener.ora中,增加一项配置(红圈部分),它代表PostgreSQL提供的数据库服务,Oracle将PostgreSQL也看成一个Oracle实例,SID_NAME = PGINSTANCE是给它定义一个实例名,这个名称任意,但是这个名称决定了第二个配置文件$ORACLEHOME/hs/admin/init<SID_NAME>.ora的文件名,例如initPGINSTANCE.ora。

2)$ORACLEHOME/hs/admin/init<SID_NAME>.ora
实例PGINSTANCE连接PostgreSQL数据库时,Oracle会到$ORACLEHOME/hs/admin/下找名为initPGINSTANCE.ora的配置文件,里面是关于ODBC连接的信息,Oracle使用这些信息连接PostgreSQL,例如,在我的环境中,这个文件内容如下:

HS_FDS_CONNECT_INFO = PG 这个参数指向odbc.ini文件中的ODBC连接名称[PG],参考前面。HS_FDS_SHAREABLE_NAME =/usr/local/lib/psqlodbcw.so 这个参数设置PostgreSQL ODBC驱动的路径,与odbcinst.ini中Driver64相同。
如果PostgreSQL的字符编码是UTF8,那么下面两个参数应该这样设置:

HS_NLS_NCHAR=UCS2
HS_LANGUAGE=AMERICAN_AMERICA.AL32UTF8

3)在tnsnames.ora中,增加一项(红圈):

pglink是客户端到PostgreSQL实例的连接配置,只要注意一点:“SID = PGINSTANCE”中,SID应设置为listener.ora中PostgreSQL的实例名,例如这里就是PGINSTANCE。pglink这个名称,将在创建dblink时使用。

创建dblink
在sqlplus或其它终端执行

create database link dl_pgsql connect to "postgres" identified by "post123" using 'pglink';

其中'pglink'是tnsnames.ora文件里定义的,这里把Oracle数据库作为客户端,去连接pglink所指的实例。
"postgres" identified by "post123" 是指PostgreSQL中的用户。
这各名称为dl_pgsql的dblink所连接的PostgreSQL数据库名由odbc.ini的Database参数指定。postgres用户应该对Database所指的数据库,有足够访问权限。

通过dblink访问PostgreSQL
假设emp表在名为postgres的数据库中的名为public的schema下,Oracle完成上面的配置后,可以这样访问:

select * from "public"."emp"@dl_pgsql;

创建和使用别名

CREATE SYNONYM emp_table FOR "public"."emp"@dl_pgsql;
select * from emp_table;

到此这篇关于Oracle配置dblink访问PostgreSQL的文章就介绍到这了,更多相关Oracle dblink访问PostgreSQL内容请搜索编程网以前的文章或继续浏览下面的相关文章希望大家以后多多支持编程网!

免责声明:

① 本站未注明“稿件来源”的信息均来自网络整理。其文字、图片和音视频稿件的所属权归原作者所有。本站收集整理出于非商业性的教育和科研之目的,并不意味着本站赞同其观点或证实其内容的真实性。仅作为临时的测试数据,供内部测试之用。本站并未授权任何人以任何方式主动获取本站任何信息。

② 本站未注明“稿件来源”的临时测试数据将在测试完成后最终做删除处理。有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341

Oracle配置dblink访问PostgreSQL的操作方法

下载Word文档到电脑,方便收藏和打印~

下载Word文档

猜你喜欢

Centos 安装及配置OpenNMS的操作方法

Centos 安装及配置OpenNMS的操作方法,相信很多没有经验的人对此束手无策,为此本文总结了问题出现的原因和解决方法,通过这篇文章希望你能解决这个问题。OpenNMS是世界上第一个用开放原始码模式开发的企业级网络管理系统。可用来自动发
2023-06-10

云服务器如何配置访问量的方法

云服务器提供了一种轻量级的服务,它可以帮助您轻松地管理和配置自己的访问量。要配置访问量的方法,以下是一些建议:检查流量负载:确定您的应用程序和数据的最大流量,这将帮助您确定需要哪种类型的负载,并为这些负载分配合理的负载。使用多路径流量控制功能:多路径流量控制(MulticastBalancing)是一种可以减少流量的功能,它可以自动将数据从一个路径传输到另一个路径,从而最小化路径和数据包丢
2023-10-26

golang通过http访问外部网址的操作方法

本文详细介绍了Go语言中使用HTTP客户端与外部网址交互的方法。通过net/http包,开发者可以创建HTTP请求,发送请求并处理响应(包括状态代码、响应头和响应体)。文末还提供了示例代码和最佳实践建议。
golang通过http访问外部网址的操作方法
2024-04-02

Python VIM 环境配置的实际操作方法

本篇内容主要讲解“Python VIM 环境配置的实际操作方法”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“Python VIM 环境配置的实际操作方法”吧!1. VIM python 自动补全
2023-06-17

apache正常访问mht类型文件的配置方法

这篇文章主要介绍了apache正常访问mht类型文件的配置方法,需要的朋友可以参考下一、mht文件简介MHTML文件又称为聚合HTML文档、Web档案或单一文件网页。单个文件网页可将网站的所有元素(包括文本和图形)都保存到单个文件中。这种封
2023-06-05

Apache安全配置之禁止目录访问的设置方法

这篇文章主要介绍了Apache禁止目录访问的配置方法,这是一个常见的、非常有必要的apache安全配置之一,需要的朋友可以参考下在PHP网站开发中,为了让网站目录文件和程序代码的安全考虑,我们必须对某些目录或者文件的访问权限进行控制,来提高
2023-06-05

IIS7/IIS8环境下全站https访问的配置方法

IIS7/IIS8环境下全站https访问的配置方法,很多新手对此不是很清楚,为了帮助大家解决这个难题,下面小编将为大家详细讲解,有这方面需求的人可以来学习下,希望你能有所收获。IIS7/IIS8环境下全站https访问的配置方法一、配置w
2023-06-04

OpenCV使用邻居访问扫描图像的操作方法

在图像处理中,有时需要根据某个像素的相邻像素的值计算该像素位置的值,当这个邻域包括上一行和下一行的像素时,就需要同时扫描图像的多行像素,本节中我们将介绍如何通过邻居访问扫描图像,感兴趣的朋友一起看看吧
2023-01-05

FreeRTOS实时操作系统内核配置的方法

今天小编给大家分享一下FreeRTOS实时操作系统内核配置的方法的相关知识点,内容详细,逻辑清晰,相信大部分人都还太了解这方面的知识,所以分享这篇文章给大家参考一下,希望大家阅读完这篇文章后有所收获,下面我们一起来了解一下吧。FreeRTO
2023-06-29

Nginx 禁止直接访问目录或文件的操作方法

Nginx 默认是不允许列出整个目录的,那么需要这样的功能怎么操作呢,下面小编给大家介绍下Nginx 禁止直接访问目录或文件的方法,需要的朋友可以参考下
2022-11-13

云服务器如何配置访问量的方法和技术

云服务器可以通过配置访问量的方式来满足访问量的需求。以下是一些常见的云服务器配置访问量的方法和技术:限制云服务器的访问量,可以限制每个连接的上限,或者限制每个连接的数据量。可以通过设置每个连接的最大带宽和延迟时间等参数来限制。设置云服务器的访问量限制级别,可以对每个连接分配一定数量的访问量,并且可以设置不同的访问量限制级别。例如,可以限制每个连接在每个时间段内的最大访问量级,或者设置每个访问量级对应的访问...
2023-10-27

编程热搜

  • Python 学习之路 - Python
    一、安装Python34Windows在Python官网(https://www.python.org/downloads/)下载安装包并安装。Python的默认安装路径是:C:\Python34配置环境变量:【右键计算机】--》【属性】-
    Python 学习之路 - Python
  • chatgpt的中文全称是什么
    chatgpt的中文全称是生成型预训练变换模型。ChatGPT是什么ChatGPT是美国人工智能研究实验室OpenAI开发的一种全新聊天机器人模型,它能够通过学习和理解人类的语言来进行对话,还能根据聊天的上下文进行互动,并协助人类完成一系列
    chatgpt的中文全称是什么
  • C/C++中extern函数使用详解
  • C/C++可变参数的使用
    可变参数的使用方法远远不止以下几种,不过在C,C++中使用可变参数时要小心,在使用printf()等函数时传入的参数个数一定不能比前面的格式化字符串中的’%’符号个数少,否则会产生访问越界,运气不好的话还会导致程序崩溃
    C/C++可变参数的使用
  • css样式文件该放在哪里
  • php中数组下标必须是连续的吗
  • Python 3 教程
    Python 3 教程 Python 的 3.0 版本,常被称为 Python 3000,或简称 Py3k。相对于 Python 的早期版本,这是一个较大的升级。为了不带入过多的累赘,Python 3.0 在设计的时候没有考虑向下兼容。 Python
    Python 3 教程
  • Python pip包管理
    一、前言    在Python中, 安装第三方模块是通过 setuptools 这个工具完成的。 Python有两个封装了 setuptools的包管理工具: easy_install  和  pip , 目前官方推荐使用 pip。    
    Python pip包管理
  • ubuntu如何重新编译内核
  • 改善Java代码之慎用java动态编译

目录