我正在使用SQL Server 2012.我需要创建一个FTP任务,它将获取一个Excel文件(或者如果需要它可以是一个csv文件)并每天将其上传到FTP站点。这里的基本思想是自动化整个过程,从创建Excel文件到将其上传到FTP站点。
该Excel文件的内容将是每天运行并覆盖现有查询的T-SQL查询的结果。我的想法是使用SQL Server代理Job来完成这一部分。但是,我很难弄清楚如何编写我的T-SQL代码,以便将结果输出到Excel文件中。
现在,FTP任务的创建并不是真正的问题,因为我认为我可以通过创建SSIS
包来解决这个问题。
为简单起见,我们假设,我的SQl查询如下:
Select *
From TravelAgency
我们还假设我想将该文件保存为'C:\ Test'文件夹中的'myfile.xlsx'。
可以在T-SQL查询中完成吗?
答案 0 :(得分:0)
这里的例子(1251是俄语编码,你不需要它)
set @cmd ='bcp "' + @query + '" queryout "' + @SourceFileName + '" -T -c -C 1251'
--print @cmd
exec @ret = master..xp_cmdshell @cmd
if @ret <> 0 throw 50000, 'shell error while saving file', 1