1

入力パラメーターID(整数)を期待しているSSISパッケージがあります。IDの値を渡すことができるように、ストアドプロシージャを使用してこのSSISパッケージを実行する必要があります。

DECLARE @Command varchar(1000)
    , @PackageLocation varchar(1000)
    , @PackageName varchar(1000)
    , @XmlID int

SELECT TOP 1 @XmlID = XmlId 
FROM dbo.ENROLMatchingXML
WHERE IsProcessed = 0

SET @PackageLocation = 'E:\SSIS\Package'
SET @PackageName = 'Match Names.dtsx'
SET @Command = 'DTEXEC'
    + ' /File "' + @PackageLocation + '\' + @PackageName + '"'

    + ' Set \Package.Variables[user::XMLID].Properties[Value];'  + @XmlID 
-- print just to show the string @command
print @Command

EXEC xp_cmdshell @Command

@XmlIDを文字にキャストする必要がありますか?そうした場合、エラーが発生します-オプション「設定」は無効です。

4

1 に答える 1

4

パラメータを使用してdtexecを実行するための正しい構文は次のとおりです。

dtexec /f "PathToMyPackage\Package.dtsx" /set \package.variables[myvariable].Value;myvalue 

setコマンドオプションを指定したときにスラッシュを忘れたようです。

于 2012-07-18T10:25:28.473 に答える