SQL Server 2005通过LinkServer访问Oracle 11G

时间:2021-02-19 20:22:56

1. 在SQL Server所在的服务器安装Oracle客户端软件

2. 配置tnsnames.ora文件,示例如下:

MYDB =
(DESCRIPTION =
(ADDRESS_LIST =
(ADDRESS = (PROTOCOL = TCP)(HOST = localhost)(PORT = 1521))
)
(CONNECT_DATA =
(SERVICE_NAME = mydb)
)
)

3. 在SQL Server建立Linkserver,可通过如下脚本实现:

[sql] view plain copy SQL Server 2005通过LinkServer访问Oracle 11GSQL Server 2005通过LinkServer访问Oracle 11G
  1. EXEC master.dbo.sp_addlinkedserver @server = N'linkoracle',  
  2.     @srvproduct = N'oracle', @provider = N'OraOLEDB.Oracle',  
  3.     @datasrc = N'mydb'  
  4. EXEC master.dbo.sp_addlinkedsrvlogin @rmtsrvname = N'linkoracle',  
  5.     @useself = N'False', @locallogin = N'sa', @rmtuser = N'wxy',  
  6.     @rmtpassword = '123456'  
之后可以通过OPENQUERY的方式访问Oracle的数据: [sql] view plain copy SQL Server 2005通过LinkServer访问Oracle 11GSQL Server 2005通过LinkServer访问Oracle 11G
  1. SELECT  *  
  2. FROM    OPENQUERY(linkoracle, 'select * from tab');