将SQL查询数据导出到Excel并将位置excel存储在网络外部

时间:2014-04-11 06:29:51

标签: sql sql-server excel tsql

我必须将Sql server数据导出到Excel文件中并导出我使用sql query作为

的数据
insert into OPENROWSET('Microsoft.Jet.OLEDB.4.0', 
'Excel 8.0;Database=D:\testing.xls;', 
'SELECT * FROM [SheetName$]') select * from SQLServerTable

但是在上面的查询中,我将数据导出到我系统中本地的D drive。 如果我必须将数据导出到我网络之外的其他系统。该系统可能存在于某个其他位置或公司。如果我在其他系统中使用System IP Address and location而不是D drive提供共享文件夹,是否可以使用。 装置

insert into OPENROWSET('Microsoft.Jet.OLEDB.4.0', 
'Excel 8.0;Database=\\10.10.10.10\ab\A\testing.xls;', 
'SELECT * FROM [SheetName$]') select * from SQLServerTable

1 个答案:

答案 0 :(得分:0)

检查超出此查询的用户是否可以访问该文件。还检查是否共享文件?

要检查SQL Server是否有权提交文件

EXEC Master.dbo.xp_DirTree '\\10.10.10.10\ab\A\',1,1

如果结果将显示文件列表,则SQL Server具有permition

  

使用BULK INSERT或INSERT ... SELECT * FROM OPENROWSET(BULK ...)来   从另一台计算机批量导入数据,必须共享数据文件   两台电脑之间。要指定共享数据文件,请使用它   通用命名约定(UNC)名称,采用一般形式,   \服务器名\共享\路径\文件名。此外,使用的帐户   访问数据文件必须具有所需的权限   用于读取远程磁盘上的文件。

http://technet.microsoft.com/en-us/library/ms175915.aspx