日期:2014-05-17  浏览次数:20772 次

Sql链接access
我sql连的本机(192.168.1.1),excel在服务器上(192.168.1.2),如何使用sql访问excel文件,最好有成功的实例代码。

不要把连接本机的excel贴上来

Thanks

------解决方案--------------------
因为用openrowset也访问不了远程的服务器上的excel,所以基本的思路就是,


1、你在excel在服务器上(192.168.1.2)上建立一个视图:

create view dbo.view_excel
as

select *
from openrowset('microsoft.ace.oledb.12.0',
                'Excel 12.0;database=c:\test.xls',
                'select * from [sheet1$]')
go



2、在你的(192.168.1.1)建立一个连接服务器到(192.168.1.2)

--建立链接服务器,通过@datasrc指定数据源,适合链接其他多种数据库
EXEC master.dbo.sp_addlinkedserver @server = N'Link',
                                   @srvproduct='ms', 
                                   @provider=N'SQLNCLI',                                    
                                   @datasrc=N'192.168.1.2,1433'

EXEC master.dbo.sp_addlinkedsrvlogin @rmtsrvname=N'Link',
                                    @useself=N'False',
                                    @locallogin=NULL,
                                    @rmtuser=N'sa',
                                    @rmtpassword='密码'


3、查询:
--查询远程表
select * 
from [Link].master.dbo.view_e