数据库:SqlServer2005 、Oracle 11gR2
系统环境:windows Server 2008R2 32位。
最近在做项目时,需要通过sql的链接服务器访问Oracle。以前弄过sql访问sql,感觉挺简单的,以为访问Oracle也差不多,实际做过后才发现存在很多差距。
步骤:
1、SQL Server端Windows需装对应版本的Oracle客户端。(我安装Oracle9i客户端后通过PL/SQL访问Oracle11gR2,没有问题,但是通过链接服务器访问就无法查询)
2、Oracle Net Manager中创建服务名,测试连接通过。
3、确认SQL Server端Windows可以通过SQLPlus访问远程Oracle。
4、创建link server,如下代码。
/****** 对象: LinkedServer [HZTMVQD] 脚本日期: 01/06/2015 11:02:50 ******/
EXEC master.dbo.sp_addlinkedserver @server = N'HZTMVQD', @srvproduct=N'Oracle', @provider=N'OraOLEDB.Oracle', @datasrc=N'172.22.75.111/VQDV3MID'
EXEC master.dbo.sp_addlinkedsrvlogin @rmtsrvname=N'HZTMVQD',@useself=N'False',@locallogin=N'sa