SQLSEVER 与 oracle 数据库 ,网络隔离的,怎么实现数据传输。_百度知 ...
发布网友
发布时间:2022-04-23 17:08
我来回答
共5个回答
热心网友
时间:2022-04-12 23:43
1. 在SQLDB上创建将要从Oracle数据库访问SQL Server的用户testuser/testuser,并授予可访问CDR的权限;
接下来是GATEWAY:
1.安装好Oracle 9.0.1 Database for Windows后,会发现在%ORACLE_HOME%下有目录tg4msql,以及网关程序$ORACLE_HOME\BIN\tg4msql;
2. 确保在c:\winnt\system32下有ntwdblib.dll,若没有则安装SQL Server2000(安装类型选择“仅连接”)。此文件是访问SQL Server的DB-Library;
3. ping SQLDB看是否通,若不通则在\winnt\system32\drivers\etc\hosts文件中增加一行,用来解析SQLDB的IP地址,很简单不多说了。
4. 修改%ORACLE_HOME%\tg4msql\inittg4msql.ora,这是网关进程启动时需要的初始化文件。只需改下面这一行即可:
HS_FDS_CONNECT_INFO=SQLDB.CDR
5.修改%ORACLE_HOME%\network\admin\listener.ora如下:
LISTENER =
(ADDRESS_LIST=
(ADDRESS=(PROTOCOL=tcp)(HOST=localhost)(PORT=1521))
)
SID_LIST_LISTENER=
(SID_LIST=
(SID_DESC=
(SID_NAME=tg4msql)
(ORACLE_HOME=e:\Oracle\OraHome_9I) #用你的%ORACLE_HOME%
(PROGRAM=tg4msql)
)
)
最后是ORADB:
1.修改tnsnames.ora
CDR = #CDR是我起的,你可以选用其它
(DESCRIPTION =
(ADDRESS =
(PROTOCOL = TCP)
(HOST= GATEWAY)
(PORT = 1521)
)
(CONNECT_DATA =
(SID = tg4msql) #tg4msql必须要和GATEWAY上listener.ora中的SID一致
)
(HS = OK) #这很重要,告诉Oracle Server要调用异构服务模块来处理
)
2.修改initora9i.ora(数据库初始化文件)
global_names=true,重启数据库。
否则会在执行sql时报错:ORA-02085: 数据库链接CDR与HO.WORLD相连结
原因如下:The GLOBAL_NAMES parameter when set to TRUE implies that database link name should be similar to the Global database name to which you are trying to connect.
3.创建访问SQLDB.CDR的数据库链接
SQL> create public database link cdr connect to testuser identified by testuser using ‘CDR’;
4. OK!最后执行SQL测试看是否能正常访问SQL Server
SQL> select count(*) from all_tables@cdr;
热心网友
时间:2022-04-13 01:01
先装oracle透明网关,你用的是oracle9,10,11?建议装11的透明网关,因为11g的监听服务和原有的监听服务可以并行运行,,然后你可以照着“573561611”说的步骤进行操作。如果不行的话 可以给我一个邮箱,我给你一个文件,你照着步骤做就行(大体和“573561611”说的是差不多的)我以前调试成功了的....
热心网友
时间:2022-04-13 02:36
网络都隔离了,怎么传输数据呢?
要是局域网,需要加一条路由
要是广域网,需要架设VPN
总不能通过邮件吧
热心网友
时间:2022-04-13 04:27
架设* 把这两台机器设在一个里面 这样就可以当做局域网使用了!~~~
热心网友
时间:2022-04-13 06:35
导出文本文件,再导入。