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

Oracle 11g通过dg4odbc配置dblink连接PostgreSQL

1、安装unixodbc

2、安装postgresql 
yum install -y postgresql17-odbc
3、配置postgresqlodbc数据源 
vim  /usr/local/etc/odbcinst.ini##添加如下
[mypg]
Driver = /usr/lib64/psqlodbcw.so
Servername = localhost
Port = 5432
Database = postgres
Username = postgres
Password = password
SocketBufferSize = 4096
FetchBufferSize = 100
4、测试odbc连通性

5、配置透明网关、监听文件以及对应编写的hsodbcora文件,我这里是mypg.ora
##对应编写的hsodbc的ora文件
vim $ORACLE_HOME/hs/admin/mypg.ora
##添加如下
HS_FDS_CONNECT_INFO = mypg17
HS_FDS_TRACE_LEVEL = debug
set ODBCINI= /usr/local/etc/odbc.ini
#HS_FDS_SHAREABLE_NAME = /usr/local/psqlodbc/psqlodbcw.so(已注释,使用的psqlodbc驱动未调通,应该是yum默认安装的postgresql-odbc驱动版本有点低,本次使用unixodc驱动)
HS_NLS_NCHAR = UCS2
HS_LANGUAGE=AMERICAN_AMERICA.AL32UTF8
#NLS_LANG=AMERICAN_AMERICA.AL32UTF8
HS_FDS_SHAREABLE_NAME=/usr/lib64/libodbc.so##配置oracle静态监听
vim $ORACLE_HOME/network/admin/listener.ora
##添加如下
SID_LIST_LISTENER=(SID_LIST=(SID_DESC=(PROGRAM = dg4odbc)(ORACLE_HOME = /opt/oracle/app/oracle/product/11.2.0/dbhome_1)(SID_NAME = mypg)))
USE_SID_AS_SERVICE_listener=on##配置tnsnames.ora
vim $ORACLE_HOME/network/admin/tnsnames.ora
##添加如下
mypg=(DESCRIPTION =(ADDRESS = (PROTOCOL = TCP)(HOST = localhost)(PORT = 1521))(CONNECT_DATA =(SID = mypg)   )(HS = OK))
6、重启监听
##oracle用户登录的shell下执行重启监听的命令,重启之后你会发现有一个mypg的实例被监听,状态为unknown,不用管它,具体还是要看测试查询的结果
##停止监听
lsnrctl stop
##启动监听 
lsnrctl start
##查看监听状态 
lsnrctl status

7、dblink测试
##postgresql创建表、插入数据
##在Oracle中创建连接postgresql的dblink
create database link mypg_test connect to "postgres" identified by "password" using 'mypg';
##测试在Oracle通过dblink查看postgresql的数据
select * from "public"."t1"@mypg_test;

postgresql

oracle通过dblink查询postgresql数据 

如果查询中文乱码,需要设置字符集环境变量,就OK!

export NLS_LANG=AMERICAN_AMERICA.AL32UTF8 

http://www.xdnf.cn/news/169.html

相关文章:

  • 从头学 | 目标函数、梯度下降相关知识笔记(一)
  • 边缘计算网关组态功能的定义
  • 阀门轴承电动车工件一键精修软件
  • vue2.6.12 安装babel 以使用 可选链 ?. 和空值合并 ??
  • 【Vue3代理机制详解:从原理到实践】
  • 医疗行业如何构建合成数据平台?——技术、合规与实践全景
  • Jenkins的使用及Pipeline语法讲解
  • 简易 Python 爬虫实现,10min可完成带效果源码
  • LIB-ZC, 一个跨平台(Linux)平台通用C/C++扩展库, 网络socket
  • Linux和Ubuntu的驱动适配情况
  • 数据结构-Map和Set
  • Oracle日志系统之附加日志
  • 学习海康VisionMaster之中线查找
  • 新手蓝桥杯冲击国一练习题单(四)
  • C++ 二叉搜索树
  • LINUX418 加载YUM源 wireshark ping程序 解析
  • 亚远景-ASPICE评估标准与车企供应商准入要求的关联性
  • 串口通信实战:从寄存器操作到数据处理的完全指南
  • 人像面部关键点检测
  • 力扣刷题Day 20:柱状图中最大的矩形(84)
  • FPGA HR Bank如何支持ODELAY问题分析
  • Yocto项目实战教程 · 第4章:4.3小节-层
  • 七、LangChain Tool类参数对接机制解析:基于Pydantic的类型安全与流程实现
  • JavaScript 核心特性完全指南
  • Python如何助力区块链网络安全?从攻击防范到智能合约审计
  • Jenkins 多分支管道
  • uniapp打包报错,
  • LeetCode -- Flora -- edit 2025-04-17
  • 间接飞行时间 (iToF) 原理介绍
  • 守护进程编程