sql server 2005 建立链接服务器

 sql server 2005 建立链接服务器

--使用 Microsoft OLE DB Provider For ORACLE 链接ORACLE

1、建立链接数据库
sp_addlinkedserver '别名', 'Oracle', 'MSDAORA', '服务名'
GO
EXEC sp_addlinkedsrvlogin  @rmtsrvname='别名

',@useself='false',@locallogin='sa',@rmtuser='oracle用户名

',@rmtpassword='密码'

2、查询数据

SELECT * FROM 别名..用户名.表(视图)

注意:四部分名称全部用大写

3、执行存储过程

使用OPENQUERY:
SELECT *
FROM OPENQUERY(别名, 'exec 用户名.存储过程名')

例如:

/****** 对象:  LinkedServer [TEST_ORACLE]    脚本日期: 03/03/2008 10:52:01 ******/
EXEC master.dbo.sp_addlinkedserver
 @server = N'TEST_ORACLE',
 @srvproduct=N'Oracle',
 @provider=N'MSDAORA',
 @datasrc=N'orcl'
GO

EXEC sp_addlinkedsrvlogin 
@rmtsrvname='TEST_ORACLE',
@useself='false',
@locallogin='sa',
@rmtuser='guoqiang',
@rmtpassword='guoqiang'
GO

SELECT * FROM TEST_ORACLE..GUOQIANG.PERSON;
GO


CREATE SYNONYM PERSON FOR TEST_ORACLE..GUOQIANG.PERSON;

--使用SQL Server 的 Microsoft OLE DB 提供程序
 
exec sp_addlinkedserver @server='别名
 
',@provider='sqloledb',@srvproduct='',@datasrc='远程服务器名'
exec sp_addlinkedsrvlogin 
 
@rmtsrvname='wzb',@useself='false',@locallogin='sa',@rmtuser='sa',@rmtp
 
assword='密码'
 
然后你就可以如下:
select * from 别名.库名.dbo.表名
insert 库名.dbo.表名 select * from 别名.库名.dbo.表名
select * into 库名.dbo.新表名 from 别名.库名.dbo.表名
go

例如:
exec sp_addlinkedserver
@server='TEST_SQLSERVER',
@provider='sqloledb',
@srvproduct='',
@datasrc='138.64.102.6'
go
--建立链接服务器登录映射
exec sp_addlinkedsrvlogin 
@rmtsrvname='TEST_SQLSERVER',
@useself='false',
@locallogin='sa',
@rmtuser='guoqiang',
@rmtpassword='guoqiang'
go

select * from TEST_SQLSERVER.GUOQIANG.dbo.PERSON; 

作者:深潭
出处:http://www.cnblogs.com/dbasys/
本文版权归作者和博客园共有,欢迎转载,但未经作者同意必须保留此段声明,且在文章页面明显位置给出原文连接,否则保留追究法律责任的权利。
原文地址:https://www.cnblogs.com/dbasys/p/2127598.html