用SQL Server2005同义词链接Oracle数据库可以将Oracle中的表,视图等映射到SQL2005中,直接在SQL2005中操作Oracle的数据,非常简单方便。
下面具体一部一部讲解如何实现的。
环境:Windows2005+SQL2005,数据库名字为amd
Oracle 9i,服务器IP:10.**.***.** 服务名 inter
第一步:在SQL2005服务器上安装Oracle9i客户端,要链接Oracle必须安装Oracle的客户端才可以使用。具体安装步骤不多说了。
第二步:配置Oracle服务器的链接。在安装好客户端后(假设安装在D:\oracle目录),将D:\oracle\ora90\network\ADMIN\tnsnames.ora文件新建一个 MIS 修改HOST=10.****** 和SERVICE_NAME = inter.具体参见http://blog.csdn.net/studyzy/archive/2006/12/08/1434616.aspx 修改完成后重启服务器。
第三步:在SQL2005中建立链接服务器。登录SQL2005后在服务器对象->链接服务器上右键,新建。选择驱动OLEDB Provider for Oracle,填写链接服务器“TEST”产品名称Oracle,数据源“MIS”。然后在安全性选项卡中新建用户“sa”,远程用户密码就是Oracle的用户名密码。点击确定完成链接服务器的建立。
第四步:添加同义词。新建查询,输入
USE [amd]
GO
CREATE SYNONYM [dbo].mis_vendor FOR [TEST]..[MIS].MIS_VENDOR
GO
这样就可以将同义词添加到数据库中。注意后面的MIS是用户名(架构名)MIS_VENDOR是表名,这两个必须大写。
第五步:测试结果,运行select * from mis_vendor 可以得到结果。