admin 管理员组文章数量: 887021
2024年1月15日发(作者:sql2008安装提示重启计算机失败)
Oracle访问sql server实战全过程
主机
Oradb
10.1.9.211
Gateway
10.1.9.159
Sqldb
10.1.9.220
操作系统
Redhat linux 9
Windows 2000 server
Windows 2003 server
软件环境
Oracle 10.2 database standard edition
Oracle 9.2 database standard edition
Sql server 2000
Sql server 2000(访问的数据库是turbocms)
一、SQLDB的配置
1、创建将要从oracle数据库访问sql server的用户testuser/testuser,并授予可访问turbocms的权限(这里我直接用了sa账号,从安全角度看还是创建一个专用账号比较好)。
二、Gateway的配置(%oracle_home%=e:/oracle/ora92)
1、 安装oracle9i standard edition 或者oracle9i enterprise edition(ip:10.1.9.159),产品要选择透明网关(oracle transparent gateway)里要访问microsoft sql server 数据库(这一步很重要)。安装时要选择sql server 主机和数据库,我这里是正确配置的server:10.1.9.220,db:turbocms。
2、 安装sql server2000(我这里是完全安装,有人说只要安装sql server2000(安装类型选择“仅连接”)就可以,我没有验证。)
3、 Ping sqldb看是否同,若不通则在winntsystem32driversetchosts文件中增加一行,用来解析sqldb的ip地址,很简单不多说了。
4、 由于在第一步中我选择的是仅安装软件,所以我在这里需要创建一个监听器。
5、 拷贝%oracle_home%改名为
这是网关进程启动时需要的初始化文件。如果是访问多个sql server就需要再新建这个文件并修改
HS_FDS_CONNECT_INFO=”SERVER=YOURDBSERVER;DATABASE=YOURDB”其他内容不变。
6、 修改$oracle_homenetworkadmin下内容如下:
Listener=
(description_list=
(description=
(address_list=
(address=(protocol=tcp)(host=10.1.9.159)(port=1521))
)
)
)
Sid_list_listener=
(sid_list=
(sid_desc=
# (global_dbname=test)
# (sid_name=test)没有设置全局名,设置后比较麻烦,
(sid_name=plsextproc)
(oracle_home=e:oracleora92)
(program=extproc)
)
(sid_desc=
(sid_name=turbocms)
(oracle_home=e:oracleora92)
(program=tg4msql)
)
#(sid_desc=
#(sid_name=turbocms)访问多个数据库是继续添加本段代码
#(oracle_home=e:oracleora92)
#(program=tg4msql)
)
)
7、 重启动这台做gateway的windows机器上(ip:10.1.9.159)tnslistener服务。
三、Oradb的配置
($oracle_home=/u01/app/oracle/oracle/product/10.2.0/db_1/)
1、 在$oracle_home/network/admin/,添加下面的内容
Turbocms=#这个名字可以随便取
(description=
(address=(protocol=tcp)(host=10.1.9.159)(port=1521))
(connect_data=
(sid=turbocms)
)
(hs=turbocms)
)
访问多个时,拷贝上面的代码做相应修改。
保存后,在命令行下:
Tnsping turbocms
出现类似提示,即为成功
Attemping to contact(description=(address_list=(address=
(protocol=tcp)(host=192.168.0.2)
(port=1521))) (connect_data=(sid=turbocms)) (hs=turbocms))
Ok(20毫秒)
设置数据库参数global_names=false。设置global_names=false不要求建立的数据库链接和目的数据库的全局名称一致。global_names=true则要求,多少有些不方便。Oracle9i和8i都可以在dba用户下用sql命令改变global_names参数
Alter system set global_names=false;
建立共有的数据库链接:
Create public database link turbocms connect to sa identified by 密码using
‘turbocms’;
(注意密码要是小写的则会登陆失败)
访问sql server 下数据库里的数据:
Select * from t@turbocms;
Select “zip” from store@turbocms
注意:使用双引号
注意:除红色外,其他颜色相同的必须一致才行。
版权声明:本文标题:oracle访问sqlserver数据库 内容由网友自发贡献,该文观点仅代表作者本人, 转载请联系作者并注明出处:http://www.freenas.com.cn/jishu/1705325962h481105.html, 本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容,一经查实,本站将立刻删除。
发表评论