我们将SQL Server 2005与显示的查询和bat
文件一起使用,但在传递给SQL Server 2008 64位后,我们遇到了一些错误。当我搜索它时,人们建议使用 SSIS ,所以我做了但我无法获得具有动态文件名的文件(如Test_20130426.xls)。
第1步:
Declare @myComm varchar(1000)
Declare @folderName varchar(1000)
SET @folderName = 'C:\Test\'
SET @myComm = @folderName +'Transfer.bat'
Exec MASTER..xp_cmdShell @myComm
第2步(Transfer.bat):
ftp -i -s:C:\Test\FTPGetCommand.bat
pause
第3步(FTPGetCommand.bat):
open ip addres of ftp
user
pass
CD /Test/
lcd C:\Test\received_file
mget *.*
close
quit
第4步:
Declare @vSql varchar(5000)
Declare @vDate varchar(1000)
SET @vTarih=CONVERT(varchar,GETDATE(),112)
SET @vSql='insert into dbo.test_table SELECT * FROM OPENROWSET(''Microsoft.Jet.OLEDB.4.0'',
''Excel 8.0;Database=C:\Test\received_file\Sales_'+@vDate+'.xls'', FORMAT$)'
print @vSql
exec (@vSql)