原创 如何在Oracle中建立透明网关收藏

最近在研究数据从sql server 2000 向oracle迁移,有多种方法,但各有优点和缺点

方法一是用ms sql server自带的DTS 进行迁移,使用起来很方面,但image等类型的字段无法用dts导入,并且数据量大的情况下,会出现内存溢出的情况,一个2G内存的电脑能被活活拖死

第二种办法是用Oracle的透明网关,然后建立一个向sql server 的链接,通过该链接就可以访问sql server的数据,下面详细介绍如何在oracle服务器上建立透明网关

1 首先当然要在安装的时候就要安装好tg4msql(Oracle Transparent Gateway for ms sql server)工具,需要自定义安装,已经安装好的oracle 9i仍可以进行修复安装.

2 $ORACLE9I_HOME\tg4msql\admin下修改inittg4msql.ora文件:

 HS_FDS_CONNECT_INFO="SERVER=sqlserver_hostname;DATABASE=pubs"
 HS_FDS_TRACE_LEVEL=OFF
 HS_FDS_RECOVERY_ACCOUNT=RECOVER
 HS_FDS_RECOVERY_PWD=RECOVER

3 修改listener.ora的内容,在SID_LIST_LISTENER 中添加一段:

(SID_DESC=
      (SID_NAME=pubs)
      (ORACLE_HOME=d:\Oracle\Ora92)
      (PROGRAM=tg4msql)
    )
4 重起TNSListener服务

5 修改tnsnames.ora的内容,添加一段:

pubs =
  (DESCRIPTION =
  (ADDRESS_LIST =
      (ADDRESS = (PROTOCOL = TCP)(HOST = 192.168.3.1)(PORT = 1521))
    )
    (CONNECT_DATA =
      (SID = pubs)
    )
    (HS = OK)
   )

保存

6 至此透明网关配置完成,可以在命令行提示符下进行测试连接:TNSPING pubs

如果测试为OK,则说明测试完成,如果超时,请详细检查各种ora文件,还要确保sql server 服务器开通了1521端口,免得被防火墙拦截了

下面就可以建立数据库链接了:

sql>create public database link pubs connect to sa identified by pwd using 'pubs';

sql>select * from stores@pubs;

sql>select "column1" from table1@pubs;



发表于 @ 2006年03月31日 16:17:00|评论(loading...)

新一篇: 将.Net程序部署到没有安装.Net Framwork的机器上 | 旧一篇: 跳出ajax的思维定式[转]

用户操作
[即时聊天] [发私信] [加为好友]
Night_Elf
订阅我的博客
XML聚合  FeedSky
订阅到鲜果
订阅到Google
订阅到抓虾
Night_Elf的公告
嘈嘈切切错杂谈
大错小错落一盘
MyCSDNID:
Night_Elf(风暴虫)
MyEmail:
zhuqianan@yahoo.com.cn
-----------------------
文章分类
收藏
    存档
    软件项目交易
    Csdn Blog version 3.1a
    Copyright © Night_Elf