我必须将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发布于 2014-04-11 06:53:06
检查该用户,该用户可以通过该查询访问该文件。还检查文件是否共享?
要检查的是,您的Server是否具有文件扩展的权限
EXEC Master.dbo.xp_DirTree '\\10.10.10.10\ab\A\',1,1如果结果将显示文件列表,则SQL server具有权限。
使用OPENROWSET的BULK INSERT或INSERT...SELECT *(BULK.)若要从另一台计算机批量导入数据,数据文件必须在两台计算机之间共享。若要指定共享数据文件,请使用其通用命名约定(UNC)名称,其形式为\Servername\Sharename\Path\Filename。此外,用于访问数据文件的帐户必须具有在远程磁盘上读取该文件所需的权限。
http://technet.microsoft.com/en-us/library/ms175915.aspx
https://stackoverflow.com/questions/23005078
复制相似问题