我的电脑上装了一个oracle 10g,一个sqlserver2005,另装了10201_gateways_win32。目的是从oracle访问sqlserverD:\Oracle\product\10.2.0\tg_5\tg4msql\admin\inittest.ora
# This is a sample agent init file that contains the HS parameters that are
# needed for the Transparent Gateway for SQL Server#
# HS init parameters
#
HS_FDS_CONNECT_INFO=WWW-D61622540F4.test # WWW-D61622540F4是我的电脑名,test是一个sqlserver数据库名
HS_FDS_TRACE_LEVEL=OFF
HS_FDS_RECOVERY_ACCOUNT=RECOVER
HS_FDS_RECOVERY_PWD=RECOVER
D:\Oracle\product\10.2.0\tg_5\NETWORK\ADMIN\sqlnet.ora
# This file is actually generated by netca. But if customers choose to
# install "Software Only", this file wont exist and without the native
# authentication, they will not be able to connect to the database on NT.SQLNET.AUTHENTICATION_SERVICES = (NTS)NAMES.DIRECTORY_PATH= (TNSNAMES,HOSTNAME)
D:\Oracle\product\10.2.0\tg_5\NETWORK\ADMIN\tnsnames.ora
test= #sqlserver db name
(DESCRIPTION =
(ADDRESS_LIST =
(ADDRESS = (PROTOCOL = TCP)(HOST =WWW-D61622540F4)(PORT =1521))
)
(CONNECT_DATA =
(SID =test)
)
(HS = OK)
)orcl= #oracle db name
(DESCRIPTION =
(ADDRESS_LIST =
(ADDRESS = (PROTOCOL = TCP)(HOST =WWW-D61622540F4)(PORT =1521))
)
(CONNECT_DATA =
(SID =orcl)
)
(HS = OK)
)
D:\Oracle\product\10.2.0\tg_5\NETWORK\ADMIN\listener.oraSID_LIST_LISTENER =
(SID_LIST =
( SID_DESC =
(SID_NAME = PLSExtProc)
(ORACLE_HOME = D:\Oracle\product\10.2.0\tg_5)
(PROGRAM = extproc)
)
( SID_DESC=
(SID_NAME = test)
(ORACLE_HOME = D:\Oracle\product\10.2.0\tg_5)
(PROGRAM = tg4msql)
) ( SID_DESC=
(SID_NAME = orcl)
(ORACLE_HOME = D:\Oracle\product\10.2.0\db_1)
(PROGRAM = extproc)
) )LISTENER =
(DESCRIPTION_LIST =
(DESCRIPTION =
#(ADDRESS = (PROTOCOL = IPC)(KEY = EXTPROC1))
(ADDRESS = (PROTOCOL = TCP)(HOST = WWW-D61622540F4)(PORT = 1521))
)
)上面的设置是OK的,即 用本机的ORACLE访问本机的SQLSERVER数据库是OK的。
C:\Documents and Settings\Administrator>tnsping orclTNS Ping Utility for 32-bit Windows: Version 10.2.0.1.0 - Production on 27-1月 -
2010 17:16:24Copyright (c) 1997, 2005, Oracle. All rights reserved.已使用的参数文件:
D:\oracle\product\10.2.0\tg_5\network\admin\sqlnet.ora
已使用 TNSNAMES 适配器来解析别名
Attempting to contact (DESCRIPTION = (ADDRESS_LIST = (ADDRESS = (PROTOCOL = TCP)
(HOST =WWW-D61622540F4)(PORT =1521))) (CONNECT_DATA = (SID =orcl)) (HS = OK))
OK (30 毫秒)
C:\Documents and Settings\Administrator>tnsping testTNS Ping Utility for 32-bit Windows: Version 10.2.0.1.0 - Production on 27-1月 -
2010 17:17:29Copyright (c) 1997, 2005, Oracle. All rights reserved.已使用的参数文件:
D:\oracle\product\10.2.0\tg_5\network\admin\sqlnet.ora
已使用 TNSNAMES 适配器来解析别名
Attempting to contact (DESCRIPTION = (ADDRESS_LIST = (ADDRESS = (PROTOCOL = TCP)
(HOST =WWW-D61622540F4)(PORT =1521))) (CONNECT_DATA = (SID =test)) (HS = OK))
OK (20 毫秒)
现在有另一台电脑IP:192.168.1.6 上也装了SQLSERVER2005 我想要访问其中的一个叫Jackson的数据库,设置如下:D:\Oracle\product\10.2.0\tg_5\tg4msql\admin\下新增一个initJackson.ora
# This is a sample agent init file that contains the HS parameters that are
# needed for the Transparent Gateway for SQL Server#
# HS init parameters
#
HS_FDS_CONNECT_INFO="SERVER=192.168.1.6;DATABASE=Jackson"
# HS_FDS_CONNECT_INFO=ERPSERVER.Jackson
HS_FDS_TRACE_LEVEL=OFF
HS_FDS_RECOVERY_ACCOUNT=RECOVER
HS_FDS_RECOVERY_PWD=RECOVER
D:\Oracle\product\10.2.0\tg_5\NETWORK\ADMIN\sqlnet.ora 内容不变
D:\Oracle\product\10.2.0\tg_5\NETWORK\ADMIN\tnsnames.oratest=
(DESCRIPTION =
(ADDRESS_LIST =
(ADDRESS = (PROTOCOL = TCP)(HOST =WWW-D61622540F4)(PORT =1521))
)
(CONNECT_DATA =
(SID =test)
)
(HS = OK)
)orcl=
(DESCRIPTION =
(ADDRESS_LIST =
(ADDRESS = (PROTOCOL = TCP)(HOST =WWW-D61622540F4)(PORT =1521))
)
(CONNECT_DATA =
(SID =orcl)
)
(HS = OK)
)Jackson= #新加项
(DESCRIPTION =
(ADDRESS_LIST =
(ADDRESS = (PROTOCOL = TCP)(HOST =192.168.1.6)(PORT =1522))
)
(CONNECT_DATA =
(SID =Jackson)
)
(HS = OK)
)
D:\Oracle\product\10.2.0\tg_5\NETWORK\ADMIN\listener.ora
SID_LIST_LISTENER =
(SID_LIST =
( SID_DESC =
(SID_NAME = PLSExtProc)
(ORACLE_HOME = D:\Oracle\product\10.2.0\tg_5)
(PROGRAM = extproc)
)
( SID_DESC=
(SID_NAME = test)
(ORACLE_HOME = D:\Oracle\product\10.2.0\tg_5)
(PROGRAM = tg4msql)
) ( SID_DESC=
(SID_NAME = orcl)
(ORACLE_HOME = D:\Oracle\product\10.2.0\db_1)
(PROGRAM = extproc)
) ( SID_DESC= #新加项
(SID_NAME = Jackson)
(ORACLE_HOME = D:\Oracle\product\10.2.0\tg_5)
(PROGRAM = tg4msql)
) )LISTENER =
(DESCRIPTION_LIST =
(DESCRIPTION =
#(ADDRESS = (PROTOCOL = IPC)(KEY = EXTPROC1))
(ADDRESS = (PROTOCOL = TCP)(HOST = WWW-D61622540F4)(PORT = 1521))
(ADDRESS = (PROTOCOL = TCP)(HOST = 192.168.1.6)(PORT = 1522)) #新加项 )
)C:\Documents and Settings\Administrator>lsnrctl startLSNRCTL for 32-bit Windows: Version 10.2.0.1.0 - Production on 27-1月 -2010 17:1
8:25Copyright (c) 1991, 2005, Oracle. All rights reserved.启动tnslsnr: 请稍候...TNSLSNR for 32-bit Windows: Version 10.2.0.1.0 - Production
系统参数文件为D:\oracle\product\10.2.0\tg_5\network\admin\listener.ora
写入D:\oracle\product\10.2.0\tg_5\network\log\listener.log的日志信息
监听: (DESCRIPTION=(ADDRESS=(PROTOCOL=tcp)(HOST=WWW-D61622540F4.Jacksonteck.com)
(PORT=1521)))正在连接到 (DESCRIPTION=(ADDRESS=(PROTOCOL=TCP)(HOST=WWW-D61622540F4)(PORT=1521)
))
LISTENER 的 STATUS
------------------------
别名 LISTENER
版本 TNSLSNR for 32-bit Windows: Version 10.2.0.1.0 - Produ
ction
启动日期 27-1月 -2010 17:18:28
正常运行时间 0 天 0 小时 0 分 3 秒
跟踪级别 off
安全性 ON: Local OS Authentication
SNMP OFF
监听程序参数文件 D:\oracle\product\10.2.0\tg_5\network\admin\listener.o
ra
监听程序日志文件 D:\oracle\product\10.2.0\tg_5\network\log\listener.log监听端点概要...
(DESCRIPTION=(ADDRESS=(PROTOCOL=tcp)(HOST=WWW-D61622540F4.Jacksonteck.com)(POR
T=1521)))
服务摘要..
服务 "PLSExtProc" 包含 1 个例程。
例程 "PLSExtProc", 状态 UNKNOWN, 包含此服务的 1 个处理程序...
服务 "orcl" 包含 1 个例程。
例程 "orcl", 状态 UNKNOWN, 包含此服务的 2 个处理程序...
服务 "test" 包含 1 个例程。
例程 "test", 状态 UNKNOWN, 包含此服务的 1 个处理程序...
命令执行成功
C:\Documents and Settings\Administrator>tnsping JacksonTNS Ping Utility for 32-bit Windows: Version 10.2.0.1.0 - Production on 27-1月 -
2010 17:20:10Copyright (c) 1997, 2005, Oracle. All rights reserved.已使用的参数文件:
D:\oracle\product\10.2.0\tg_5\network\admin\sqlnet.ora
已使用 TNSNAMES 适配器来解析别名
Attempting to contact (DESCRIPTION = (ADDRESS_LIST = (ADDRESS = (PROTOCOL = TCP)
(HOST =192.168.1.6)(PORT =1522))) (CONNECT_DATA = (SID =Jackson)) (HS = OK))
TNS-12541: TNS: 无监听程序奇怪,为什么就不行了呢,
LISTENER =
(DESCRIPTION_LIST =
(DESCRIPTION =
#(ADDRESS = (PROTOCOL = IPC)(KEY = EXTPROC1))
(ADDRESS = (PROTOCOL = TCP)(HOST = WWW-D61622540F4)(PORT = 1521))
(ADDRESS = (PROTOCOL = TCP)(HOST = 192.168.1.6)(PORT = 1522)) #新加项 是不是HOST = 192.168.1.6就要求#192.168.1.6上有监听程序啊,但改为localhost也不行 )
)是不是要连接哪台电脑,哪台电脑上要有监听程序啊(或有oracle client或有透明网关)。如果是这样岂不是很麻烦?
oracle与异构数据库之间不是只要有一个透明网关就行了吗?装在哪里并不重要吧。
我的网上搜索了两天,别人介绍的各种办法我都试过了,都不成功。莫不是192.168.1.6这台电脑上或装oracle client或装透明网关?
我刚学ORACLE没多久,请高手指点。
# This is a sample agent init file that contains the HS parameters that are
# needed for the Transparent Gateway for SQL Server#
# HS init parameters
#
HS_FDS_CONNECT_INFO=WWW-D61622540F4.test # WWW-D61622540F4是我的电脑名,test是一个sqlserver数据库名
HS_FDS_TRACE_LEVEL=OFF
HS_FDS_RECOVERY_ACCOUNT=RECOVER
HS_FDS_RECOVERY_PWD=RECOVER
D:\Oracle\product\10.2.0\tg_5\NETWORK\ADMIN\sqlnet.ora
# This file is actually generated by netca. But if customers choose to
# install "Software Only", this file wont exist and without the native
# authentication, they will not be able to connect to the database on NT.SQLNET.AUTHENTICATION_SERVICES = (NTS)NAMES.DIRECTORY_PATH= (TNSNAMES,HOSTNAME)
D:\Oracle\product\10.2.0\tg_5\NETWORK\ADMIN\tnsnames.ora
test= #sqlserver db name
(DESCRIPTION =
(ADDRESS_LIST =
(ADDRESS = (PROTOCOL = TCP)(HOST =WWW-D61622540F4)(PORT =1521))
)
(CONNECT_DATA =
(SID =test)
)
(HS = OK)
)orcl= #oracle db name
(DESCRIPTION =
(ADDRESS_LIST =
(ADDRESS = (PROTOCOL = TCP)(HOST =WWW-D61622540F4)(PORT =1521))
)
(CONNECT_DATA =
(SID =orcl)
)
(HS = OK)
)
D:\Oracle\product\10.2.0\tg_5\NETWORK\ADMIN\listener.oraSID_LIST_LISTENER =
(SID_LIST =
( SID_DESC =
(SID_NAME = PLSExtProc)
(ORACLE_HOME = D:\Oracle\product\10.2.0\tg_5)
(PROGRAM = extproc)
)
( SID_DESC=
(SID_NAME = test)
(ORACLE_HOME = D:\Oracle\product\10.2.0\tg_5)
(PROGRAM = tg4msql)
) ( SID_DESC=
(SID_NAME = orcl)
(ORACLE_HOME = D:\Oracle\product\10.2.0\db_1)
(PROGRAM = extproc)
) )LISTENER =
(DESCRIPTION_LIST =
(DESCRIPTION =
#(ADDRESS = (PROTOCOL = IPC)(KEY = EXTPROC1))
(ADDRESS = (PROTOCOL = TCP)(HOST = WWW-D61622540F4)(PORT = 1521))
)
)上面的设置是OK的,即 用本机的ORACLE访问本机的SQLSERVER数据库是OK的。
C:\Documents and Settings\Administrator>tnsping orclTNS Ping Utility for 32-bit Windows: Version 10.2.0.1.0 - Production on 27-1月 -
2010 17:16:24Copyright (c) 1997, 2005, Oracle. All rights reserved.已使用的参数文件:
D:\oracle\product\10.2.0\tg_5\network\admin\sqlnet.ora
已使用 TNSNAMES 适配器来解析别名
Attempting to contact (DESCRIPTION = (ADDRESS_LIST = (ADDRESS = (PROTOCOL = TCP)
(HOST =WWW-D61622540F4)(PORT =1521))) (CONNECT_DATA = (SID =orcl)) (HS = OK))
OK (30 毫秒)
C:\Documents and Settings\Administrator>tnsping testTNS Ping Utility for 32-bit Windows: Version 10.2.0.1.0 - Production on 27-1月 -
2010 17:17:29Copyright (c) 1997, 2005, Oracle. All rights reserved.已使用的参数文件:
D:\oracle\product\10.2.0\tg_5\network\admin\sqlnet.ora
已使用 TNSNAMES 适配器来解析别名
Attempting to contact (DESCRIPTION = (ADDRESS_LIST = (ADDRESS = (PROTOCOL = TCP)
(HOST =WWW-D61622540F4)(PORT =1521))) (CONNECT_DATA = (SID =test)) (HS = OK))
OK (20 毫秒)
现在有另一台电脑IP:192.168.1.6 上也装了SQLSERVER2005 我想要访问其中的一个叫Jackson的数据库,设置如下:D:\Oracle\product\10.2.0\tg_5\tg4msql\admin\下新增一个initJackson.ora
# This is a sample agent init file that contains the HS parameters that are
# needed for the Transparent Gateway for SQL Server#
# HS init parameters
#
HS_FDS_CONNECT_INFO="SERVER=192.168.1.6;DATABASE=Jackson"
# HS_FDS_CONNECT_INFO=ERPSERVER.Jackson
HS_FDS_TRACE_LEVEL=OFF
HS_FDS_RECOVERY_ACCOUNT=RECOVER
HS_FDS_RECOVERY_PWD=RECOVER
D:\Oracle\product\10.2.0\tg_5\NETWORK\ADMIN\sqlnet.ora 内容不变
D:\Oracle\product\10.2.0\tg_5\NETWORK\ADMIN\tnsnames.oratest=
(DESCRIPTION =
(ADDRESS_LIST =
(ADDRESS = (PROTOCOL = TCP)(HOST =WWW-D61622540F4)(PORT =1521))
)
(CONNECT_DATA =
(SID =test)
)
(HS = OK)
)orcl=
(DESCRIPTION =
(ADDRESS_LIST =
(ADDRESS = (PROTOCOL = TCP)(HOST =WWW-D61622540F4)(PORT =1521))
)
(CONNECT_DATA =
(SID =orcl)
)
(HS = OK)
)Jackson= #新加项
(DESCRIPTION =
(ADDRESS_LIST =
(ADDRESS = (PROTOCOL = TCP)(HOST =192.168.1.6)(PORT =1522))
)
(CONNECT_DATA =
(SID =Jackson)
)
(HS = OK)
)
D:\Oracle\product\10.2.0\tg_5\NETWORK\ADMIN\listener.ora
SID_LIST_LISTENER =
(SID_LIST =
( SID_DESC =
(SID_NAME = PLSExtProc)
(ORACLE_HOME = D:\Oracle\product\10.2.0\tg_5)
(PROGRAM = extproc)
)
( SID_DESC=
(SID_NAME = test)
(ORACLE_HOME = D:\Oracle\product\10.2.0\tg_5)
(PROGRAM = tg4msql)
) ( SID_DESC=
(SID_NAME = orcl)
(ORACLE_HOME = D:\Oracle\product\10.2.0\db_1)
(PROGRAM = extproc)
) ( SID_DESC= #新加项
(SID_NAME = Jackson)
(ORACLE_HOME = D:\Oracle\product\10.2.0\tg_5)
(PROGRAM = tg4msql)
) )LISTENER =
(DESCRIPTION_LIST =
(DESCRIPTION =
#(ADDRESS = (PROTOCOL = IPC)(KEY = EXTPROC1))
(ADDRESS = (PROTOCOL = TCP)(HOST = WWW-D61622540F4)(PORT = 1521))
(ADDRESS = (PROTOCOL = TCP)(HOST = 192.168.1.6)(PORT = 1522)) #新加项 )
)C:\Documents and Settings\Administrator>lsnrctl startLSNRCTL for 32-bit Windows: Version 10.2.0.1.0 - Production on 27-1月 -2010 17:1
8:25Copyright (c) 1991, 2005, Oracle. All rights reserved.启动tnslsnr: 请稍候...TNSLSNR for 32-bit Windows: Version 10.2.0.1.0 - Production
系统参数文件为D:\oracle\product\10.2.0\tg_5\network\admin\listener.ora
写入D:\oracle\product\10.2.0\tg_5\network\log\listener.log的日志信息
监听: (DESCRIPTION=(ADDRESS=(PROTOCOL=tcp)(HOST=WWW-D61622540F4.Jacksonteck.com)
(PORT=1521)))正在连接到 (DESCRIPTION=(ADDRESS=(PROTOCOL=TCP)(HOST=WWW-D61622540F4)(PORT=1521)
))
LISTENER 的 STATUS
------------------------
别名 LISTENER
版本 TNSLSNR for 32-bit Windows: Version 10.2.0.1.0 - Produ
ction
启动日期 27-1月 -2010 17:18:28
正常运行时间 0 天 0 小时 0 分 3 秒
跟踪级别 off
安全性 ON: Local OS Authentication
SNMP OFF
监听程序参数文件 D:\oracle\product\10.2.0\tg_5\network\admin\listener.o
ra
监听程序日志文件 D:\oracle\product\10.2.0\tg_5\network\log\listener.log监听端点概要...
(DESCRIPTION=(ADDRESS=(PROTOCOL=tcp)(HOST=WWW-D61622540F4.Jacksonteck.com)(POR
T=1521)))
服务摘要..
服务 "PLSExtProc" 包含 1 个例程。
例程 "PLSExtProc", 状态 UNKNOWN, 包含此服务的 1 个处理程序...
服务 "orcl" 包含 1 个例程。
例程 "orcl", 状态 UNKNOWN, 包含此服务的 2 个处理程序...
服务 "test" 包含 1 个例程。
例程 "test", 状态 UNKNOWN, 包含此服务的 1 个处理程序...
命令执行成功
C:\Documents and Settings\Administrator>tnsping JacksonTNS Ping Utility for 32-bit Windows: Version 10.2.0.1.0 - Production on 27-1月 -
2010 17:20:10Copyright (c) 1997, 2005, Oracle. All rights reserved.已使用的参数文件:
D:\oracle\product\10.2.0\tg_5\network\admin\sqlnet.ora
已使用 TNSNAMES 适配器来解析别名
Attempting to contact (DESCRIPTION = (ADDRESS_LIST = (ADDRESS = (PROTOCOL = TCP)
(HOST =192.168.1.6)(PORT =1522))) (CONNECT_DATA = (SID =Jackson)) (HS = OK))
TNS-12541: TNS: 无监听程序奇怪,为什么就不行了呢,
LISTENER =
(DESCRIPTION_LIST =
(DESCRIPTION =
#(ADDRESS = (PROTOCOL = IPC)(KEY = EXTPROC1))
(ADDRESS = (PROTOCOL = TCP)(HOST = WWW-D61622540F4)(PORT = 1521))
(ADDRESS = (PROTOCOL = TCP)(HOST = 192.168.1.6)(PORT = 1522)) #新加项 是不是HOST = 192.168.1.6就要求#192.168.1.6上有监听程序啊,但改为localhost也不行 )
)是不是要连接哪台电脑,哪台电脑上要有监听程序啊(或有oracle client或有透明网关)。如果是这样岂不是很麻烦?
oracle与异构数据库之间不是只要有一个透明网关就行了吗?装在哪里并不重要吧。
我的网上搜索了两天,别人介绍的各种办法我都试过了,都不成功。莫不是192.168.1.6这台电脑上或装oracle client或装透明网关?
我刚学ORACLE没多久,请高手指点。
但愿我们IT人是冲着解决问题的精神,不是冲着分多少来的。呵呵.....