- 論壇徽章:
- 0
|
RT
測試環(huán)境:
OS:winxp-sp3
DB:oracle10g
Postgresql8.3
步驟:
1.在本機(jī)安裝Postgresql for odbc驅(qū)動
2.在ODBC中創(chuàng)建名為名為ora2pg的postgresql連接
3.在ORACLE_HOME\HS\ADMIN中創(chuàng)建文件initora2pg.ora文件,內(nèi)容為:
HS_FDS_CONNECT_INFO = ora2pg (此處ora2pg為ODBC中的連接名)
HS_FDS_TRACE_LEVEL = 0
4.配置tnsnames.ora,它位于ORACLE_HOME\NETWORK\ADMIN
填加如下代碼:
pg =
(DESCRIPTION =
(ADDRESS_LIST =
(ADDRESS = (PROTOCOL = TCP)(HOST = localhost)(PORT = 1521))
)
(CONNECT_DATA =
(SID = ora2pg)) #此處為文件initora2pg.ini中的ora2pg
(hs=OK) #打開hs服務(wù)選項
)
5.配置listener.ora,它位于ORACLE_HOME\NETWORK\ADMIN。
在這個文件中增加如下代碼:
SID_LIST_LISTENER =
(SID_LIST =
(SID_DESC =
(SID_NAME = ora2pg) #此處為文件initora2pg.ini中的ora2pg,此處名稱要與tnsnmaes中的名稱一致
(ORACLE_HOME = d:\oracle\product\10.2.0\db_1)
(PROGRAM = hsodbc) #要使用的HS服務(wù)程序,如果使用OLE DB,程序名為hsole
)
)
6.重新啟動oracle listener
7.在oracle中創(chuàng)建DATABASE LINK
create database link "ora2pg" connect to "test" identified by "test" using 'pg'; --此處test為postgresql的登錄名和密碼
8.測試dblink
select * from "test"@ora2pg ; --此處test為postgresql中的表名
************************************************************************************************
用上述方法能夠建立連接,也能查出結(jié)果,但是PLSQL Developer的查詢窗口一關(guān)閉就會報hsodbc.exe應(yīng)用程序錯誤,內(nèi)存不能為“read”
四臺電腦只有一臺不報錯,報錯的三臺中有一臺專門重新做了系統(tǒng)只裝了oracle 和odbc驅(qū)動。
郁悶了一個月了,請大家指點,謝謝 |
|