2016-09-14 45 views
0

我按照指令here從Oracle DB客戶端內部連接到PostgreSQL服務器,並在Postgres表上執行查詢。使用DB LINK從Oracle連接到Postgres LINK給出了NativeErr 202

Oracle版本: Oracle數據庫12c的企業版發行12.1.0.2.0 - 64位

Postgres的版本:的PostgreSQL 9.4.4在x86_64-未知Linux的GNU,由GCC編譯(Debian的4.7 .2-5)4.7.2,64位

當我運行像這樣

select * from "myschema.mytable"@PG_LINK 

從Oracle客戶端的查詢,我得到的錯誤是:

ORA-28500: connection from ORACLE to a non-Oracle system returned this message: 
connction string lacks some options {08001,NativeErr = 202} 
ORA-02063: preceding 2 lines from PG_LINK 

(本來不錯,如果誰建立了這個開發商有常識說哪個選項失蹤,其中連接字符串,而不是說「一些選項」!)

我能使用psql命令從Oracle數據庫服務器連接到Postgres服務器,所以連接不成問題。

我甚至更新的Postgres的服務器上的pg_hba.conf給這樣對Oracle服務器明確的訪問:

# added to test Oracle's PG LINK 
host all  all  10.XX.XXX.XXX/32  md5 
# added to test Oracle's PG LINK 
host all  all  192.XXX.XX.X/32  md5 

並重新啓動Postgres的服務器。 (與10.開頭的地址是內部服務器IP和192.是Oracle服務器的公網IP)。

我改變身份驗證的md5trust,重新啓動的Postgres,重新啓動Oracle監聽器,刪除並重新創建數據庫LINK一次再次,但同樣的錯誤正在發生。

回答

0

您可以嘗試使用unixODBC驅動程序和odbcinst_64 -j,isql_64工具。

檢查「DRIVERS」和「USER DATA SOURCES」文件。

odbcinst_64 -j

DRIVERS ............:/.../odbcinst.ini

用戶數據源..:/.../ .odbc.ini的

然後isql_64 -v DNS UID PWD

注意與dg4odbc你應該使用64位驅動程序。

最好的問候,

S.