在SQLSERVER中读取Oracle中的数据
作者: 林清清 日期: 2006-2-13
要求: 在MS SQL Server2000数据库中连接并读取Oracle9i数据库中的数据.
假设: 目标Oracle数据库相关参数如下:
Table Name: Table1
Oracle IP: 172.18.113.40,1521
Oracle Server Name : TestDB
User Name: SYSTEM
Password: MANAGER123
1在本计算机的Oracle客户端配置
1.1. 监听程序配置(图1-1),指定监听程序名称,选择TCP协议,指定一个TCP/IP端口。
(图1-1)
1.2. 命名方法配置,选定“本地,主机名”命名方法。
1.3. 本地Net服务名配置,所要访问的远程数据库服务名,此时填写“TestDB”(图1-3-1);访问的数据库的协议,选择“TCP”;数据库所在的计算机主机名,此时填写“172.18.113.40” (图1-3-2);此时可进入测试,测试时需要更改用户名(SYSTEM)和密码(MANAGER123);测试成功能,可以指定本地Net服务名称(图1-3-3),执行几次下一步后,单击“完成”按钮。
到此为止,本地的Oracle的客户端配置就完成啦。
(图1-3-1)
(图1-3-2)
(图1-3-3)
2. 本地计算机的SQL Server配置
--建立连接服务器
exec sp_addlinkedserver
'ORC', --要创建的链接服务器的本地名称
'Oracle',
'MSDAORA',
'ConnLGQ' --本地Oracle客户端建立的本地Net服务名
GO
--创建链接服务器上远程登录之间的映射
exec sp_addlinkedsrvlogin
'ORC',
false,
NULL,
'SYSTEM', --远程服务器的登陆用户名
'MANAGER123' --远程服务器的登陆密码
go
--查询数据,注意链接服务器ORC,远程登入的用户名,数据表名的大小写问题。
Select * from ORC..[SYSTEM].TABLE1
3. SQL Server关于链接服务器的其它操作
--删除链接服务器
EXEC SP_DROPSERVER 'ORC','droplogins'
--在查询分析器中查看已经存在的链接服务器
--SELECT * FROM SYSSERVERS