我使用SQL Server 2005中我有設在這裏的幾個SSIS包表:C:\SSIS
執行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
解決我一看這一個包。當我添加執行包任務時,它正在查找保存在數據庫中的包。我的軟件包都在檔案中。 – Etienne