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