将SQL查询数据导出到Excel并在网络外存储位置excel
Posted
技术标签:
【中文标题】将SQL查询数据导出到Excel并在网络外存储位置excel【英文标题】:Export SQL query data to Excel and storing location excel outside network 【发布时间】:2014-04-11 06:29:50 【问题描述】:我必须将 Sql server 数据导出到 Excel 文件中并导出我使用 sql query
as 的数据
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】:检查执行此查询的用户是否可以访问该文件。还要检查文件是否共享?
检查你的 SQL Server 是否允许执行文件
EXEC Master.dbo.xp_DirTree '\\10.10.10.10\ab\A\',1,1
如果结果会显示文件列表,SQL server 允许
使用 BULK INSERT 或 INSERT...SELECT * FROM OPENROWSET(BULK...) 到 从另一台计算机批量导入数据,数据文件必须共享 两台电脑之间。要指定共享数据文件,请使用其 通用命名约定 (UNC) 名称,采用一般形式, \服务器名\共享名\路径\文件名。此外,使用的帐户 访问数据文件必须具有所需的权限 用于读取远程磁盘上的文件。
http://technet.microsoft.com/en-us/library/ms175915.aspx
【讨论】:
以上是关于将SQL查询数据导出到Excel并在网络外存储位置excel的主要内容,如果未能解决你的问题,请参考以下文章