最新下载
热门教程
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9
- 10
配置odbc透明网关实现oracle访问postgres DB
时间:2022-06-29 09:38:23 编辑:袖梨 来源:一聚教程网
最近帮客户配置了一下通过odbc透明网关,实现在oracle内通过db link访问postgres DB。
简单记录一下:
(1)listener.ora和tnsnames.ora的配置:
[wsj81@localhost admin]$ cat listener.ora
# listener.ora Network Configuration File: /wsj/oracle/app/product/11.2.0/dbhome_1/network/admin/listener.ora
# Generated by Oracle configuration tools.
SID_LIST_ORCL =
(SID_LIST =
(SID_DESC =
(SID_NAME = pgdb)
(ORACLE_HOME = /wsj/oracle/app/product/11.2.0/dbhome_1)
(ENV="LD_LIBRARY_PATH=/usr/lib64:/wsj/oracle/app/product/11.2.0/dbhome_1/lib:usr/local/lib")
(PROGRAM=dg4odbc)
)
)
ORCL =
(DESCRIPTION_LIST =
(DESCRIPTION =
(ADDRESS_LIST =
(ADDRESS = (PROTOCOL = TCP)(HOST = 19.89.64.111)(PORT = 1531))
)
)
)
[wsj81@localhost admin]$
[wsj81@localhost admin]$ cat tnsnames.ora
pgdb =
(DESCRIPTION=
(ADDRESS=(PROTOCOL=tcp)(HOST=19.89.64.111)(PORT=1521))
(CONNECT_DATA=(SID=pgdb))
(HS=OK)
)
(2)透明网关的配置,这2个文件在$ORACLE_HOME/hs/admin下
[wsj81@localhost admin]$ cat odbc.ini
[pgdb]
Driver = /usr/local/lib/psqlodbcw.so
Setup = /usr/lib64/libodbc.so
Description = POSTGRESQL
Servername = 88.23.19.121
Port = 5434
Protocl = 6.4
FetchBufferSize = 99
Username = postgres
Password = abcd4321
Database = pgdb
ReadOnly = no
Debug = 1
ConnSettings=
[wsj81@localhost admin]$
[wsj81@localhost admin]$
[wsj81@localhost admin]$
[wsj81@localhost admin]$ cat initpgdb.ora
HS_FDS_CONNECT_INFO = pgdb
HS_FDS_TRACE_LEVEL = 255
HS_FDS_SHAREABLE_NAME = /usr/lib64/libodbc.so
HS_LANGUAGE=AMERICAN_AMERICA.ZHS16GBK
set ODBCINI=/wsj/oracle/app/product/11.2.0/dbhome_1/hs/admin/odbc.ini
[wsj81@localhost admin]$
创建db link
SQL> create database link pgdb connect to "postgres" identified by "abcd4321" using 'pgdb';
Database link created.
SQL>
测试连接,注意在pg中的表要加双引号:
SQL> select * from "t1"@pgdb;
no rows selected
SQL>
相关文章
- 人们熟悉的寄居蟹属于以下哪种分类 神奇海洋11月21日答案 11-21
- 第五人格11.22共研服有什么更新 11月22日共研服更新内容介绍 11-21
- 原神恰斯卡怎么培养 11-21
- 无期迷途四星装束是谁 11-21
- 王者荣耀帝丹高中校服怎么获得 11-21
- 光遇姆明季后续版本怎么玩 11-21