【发布时间】:2012-07-05 13:25:56
【问题描述】:
我使用的是 SQL Server 2005。我有几个 SSIS 包位于此处:C:\SSIS
下面的代码用于执行所有包,但我仍然需要将每个包名放在一个名为 Packages 的表中。
我可以在不保存包名的情况下执行所有包吗?我只想提供他们所在位置的路径,并希望 SQL 完成其余的工作。
DECLARE @package_name varchar(200)
Declare @PackageCount int
Declare @X int
Set @X = 1
Set @PackageCount = (Select COUNT(*) from Packages)
set @FilePath = 'C:\SSIS'
While (@X <= @PackageCount)
Begin
With PackageList as
(
Select PackageName, Row_Number() Over(Order by PackageName) as Rownum
From Packages
)
SELECT @package_name = PackageName
FROM PackageList
Where Rownum = @X
select @cmd = 'DTExec /F "' + @FilePath + @Package_name + '"'
print @cmd
Set @X = @X + 1
exec master..xp_cmdshell @cmd
End
【问题讨论】:
标签: sql-server tsql ssis