我正在使用 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