我通过透明网关,在一台机器上 oracle 连通sql server 能连上,但是oracle,连局域网中得sql server连不上,请问还需要,配置什么么???
我在网上 找到以下的配置方法,但是配不成功,大家帮我看看: 网络结构
服务器一: sqlserver , ip 为 147.25.8.1 , port 为 1433 ;
服务器二: oracle 9i server 和透明网关, ip 为 147.25.8.11 , port 为 1521 ;
服务器三: oracle server , ip 为 147.25.8.111 , port 为 1521 ;
客户机: sqlnet + sqlplus ,或其他客户端软件。
安装 / 配置 oracle 9i server 和透明网关
安装: 在服务器二上安装 9i server for nt/2000 ,必须选择透明网关( transparent gateway for ms sqlsvr )。
在服务器二上安装 sqlsvr 的客户端程序。
配置: 在服务器二上正常配置 listener , port 口为 1521 ;
在服务器二上配置 listener.ora ,在 SID_LIST 中加入:
( SID_NAME = SID_NAME ) --------- 自己修改
( ORACLE_HOME = 《 ORACLE_HOME 》)
( PROGRAM = tg4msql ) ---------- 这是透明网关的目录
在服务器二上配置透明网关的配置文件(《 ORACLE_HOME 》 \tg4msql\admin\initSID_NAME.ora ),明确:
HS_FDS_CONNECT_INFO = “SERVER = 147.25.8.1;DATABASE = pubs”
在服务器二上配置 sqlsvr 的客户连接:
SERVER NAME = SERVER NAME -------- 自己修改
SERVER = 147.25.8.1
PORT = 1433
PROTOCOL = TCP/IP SOCKET
在服务器三上配置 tnsnames.ora ,加入一个 tns :
MSSQL =
(DESCRIPTION =
(ADDRESS_LIST =
(ADDRESS =
(PROTOCOL = TCP)
(HOST = 147.25.8.11)
(PORT = 1521)))
(CONNECT_DATA =
(SID = SID_NAME)) --------SID 自己修改(与上文一致)
(HS = OK)
)
测试
服务器一: 启动 sqlserver ,确认用户 sa 及其密码(或另外建用户、建表)。
服务器二: 启动 listener 。 oracle 数据库不需要启动。
服务器三: sqlplus scott/tiger
create database link mssql connect to sa identified by password using ‘mssql';
select * from sales@mssql;
如果无误,配置透明网关成功。
其他
使用透明网关只可以用标准的 DML ;
服务器一二三还可以是一个服务器,也可以任意组合成两个服务器;但是服务器二所在的服务器必须是 windows nt/2000 server 平台;
透明网关可以同时连接多个 sqlsvr ,方法是加入多个 SID_LIST 和相应的 initSID_NAME.ora 配置文件;
可能会遇到中文字符显示成乱码的情况,这可能是由于 sqlsvr 的服务器和客户端的程序不是一个版本引起的。我正在测试。
我在网上 找到以下的配置方法,但是配不成功,大家帮我看看: 网络结构
服务器一: sqlserver , ip 为 147.25.8.1 , port 为 1433 ;
服务器二: oracle 9i server 和透明网关, ip 为 147.25.8.11 , port 为 1521 ;
服务器三: oracle server , ip 为 147.25.8.111 , port 为 1521 ;
客户机: sqlnet + sqlplus ,或其他客户端软件。
安装 / 配置 oracle 9i server 和透明网关
安装: 在服务器二上安装 9i server for nt/2000 ,必须选择透明网关( transparent gateway for ms sqlsvr )。
在服务器二上安装 sqlsvr 的客户端程序。
配置: 在服务器二上正常配置 listener , port 口为 1521 ;
在服务器二上配置 listener.ora ,在 SID_LIST 中加入:
( SID_NAME = SID_NAME ) --------- 自己修改
( ORACLE_HOME = 《 ORACLE_HOME 》)
( PROGRAM = tg4msql ) ---------- 这是透明网关的目录
在服务器二上配置透明网关的配置文件(《 ORACLE_HOME 》 \tg4msql\admin\initSID_NAME.ora ),明确:
HS_FDS_CONNECT_INFO = “SERVER = 147.25.8.1;DATABASE = pubs”
在服务器二上配置 sqlsvr 的客户连接:
SERVER NAME = SERVER NAME -------- 自己修改
SERVER = 147.25.8.1
PORT = 1433
PROTOCOL = TCP/IP SOCKET
在服务器三上配置 tnsnames.ora ,加入一个 tns :
MSSQL =
(DESCRIPTION =
(ADDRESS_LIST =
(ADDRESS =
(PROTOCOL = TCP)
(HOST = 147.25.8.11)
(PORT = 1521)))
(CONNECT_DATA =
(SID = SID_NAME)) --------SID 自己修改(与上文一致)
(HS = OK)
)
测试
服务器一: 启动 sqlserver ,确认用户 sa 及其密码(或另外建用户、建表)。
服务器二: 启动 listener 。 oracle 数据库不需要启动。
服务器三: sqlplus scott/tiger
create database link mssql connect to sa identified by password using ‘mssql';
select * from sales@mssql;
如果无误,配置透明网关成功。
其他
使用透明网关只可以用标准的 DML ;
服务器一二三还可以是一个服务器,也可以任意组合成两个服务器;但是服务器二所在的服务器必须是 windows nt/2000 server 平台;
透明网关可以同时连接多个 sqlsvr ,方法是加入多个 SID_LIST 和相应的 initSID_NAME.ora 配置文件;
可能会遇到中文字符显示成乱码的情况,这可能是由于 sqlsvr 的服务器和客户端的程序不是一个版本引起的。我正在测试。
解决方案 »
免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货