搜索:
首页 >> 数据库 >> MsSQL教程 >> Sql Server 2005读取外部数据的方法

Sql Server 2005读取外部数据的方法

2008-7-8 作者:Rimifon 来源:風雲工作室 投递文章

SQL Server 阻止了对组件 'Ad Hoc Distributed Queries' 的 STATEMENT'OpenRowset/OpenDatasource' 的访问,因为此组件已作为此服务器安全配置的一部分而被关闭。系统管理员可以通过使用 sp_configure 启用 'Ad Hoc Distributed Queries'。

有关启用 'Ad Hoc Distributed Queries' 的详细信息,请参阅 SQL Server 联机丛书中的 "外围应用配置器"。 

1)启用外部数据访问

sp_configure 'show advanced options',1
reconfigure
sp_configure 'Ad Hoc Distributed Queries',1
reconfigure

2)读取外部数据:

select * from OpenDataSource('SqlNCli',
'server=169.254.0.1;uid=sa;pwd=******'
).Rimifon.dbo.T_City

使用链接服务器的方法:

sp_addLinkedServer '169.254.0.1'
go
sp_addLinkedsrvLogin '169.254.0.1', false, null, 'sa', '******'
go
select * from OpenQuery([169.254.0.1],
'select * from Rimifon.dbo.T_Prov')
go
sp_DropServer [169.254.0.1],DropLogins
go

或者:

sp_addLinkedServer 'MyServer', '', 'SqlNCli', '', '',
'Server=169.254.0.1;Database=Rimifon'
go
sp_addLinkedsrvLogin 'MyServer', false, null, 'sa', '******'
go
select * from OpenQuery(MyServer, 'select * from T_Prov')
go
sp_DropServer MyServer,DropLogins
go

使用OpenRowSet的方式:

select * from openrowset('SqlNCli', 
'Server=169.254.0.1;Database=Rimifon;UID=sa;PWD=******',
'select * from T_Prov')

从外部数据库复制表结构和数据过来:

select * into Test.dbo.T_Prov from OpenDataSource('SqlNCli', 
'Server=169.254.0.1;UID=sa;PWD=******'
).Rimifon.dbo.T_Prov
Tags:sql server  sql  数据库 
相关文章
手机版 MsSQL教程 Asp之家 Aspxhome.com
闽ICP备06017341号