1

我们将 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)
4

0 回答 0