繁体   English   中英

使用参数运行SSIS包时出错-dtexec

[英]Error when running SSIS package with parameter - dtexec

当我运行带有参数但没有参数的SSIS包时,我遇到了问题。

可能是什么问题呢?

不带参数的查询

Begin

declare @query varchar(4000) = 
'dtexec /Project C:\SSIS\DUTPackages.ispac /Package cityTransfer.dtsx /decrypt password1!'

exec xp_cmdshell @query

End

用参数查询

Begin
declare @p_cityId varchar(10) = '%'
declare @p_count varchar(10) = '-1'

declare @query varchar(4000) = 
'dtexec /Project C:\SSIS\DUTPackages.ispac /Package cityTransfer.dtsx /decrypt password1!'
+ ' /SET \Package.Variables[$Package::p_cityID];''' +  @p_cityId + ''''
+ ' /SET \Package.Variables[$Package::p_count];''' + @p_count + ''

exec xp_cmdshell @query

End

使用参数运行查询时出现错误

[OLE DB Source [25]] Error: SSIS Error Code DTS_E_OLEDBERROR.  An OLE DB error has occurred. Error code: 0x80040E10.
[SSIS.Pipeline] Error: OLE DB Source failed the pre-execute phase and returned error code 0xC0202009.

我认为您可能只需要添加一些双引号并删除几个单引号即可。 尝试这个:

Begin
declare @p_cityId varchar(10) = '%'
declare @p_count varchar(10) = '-1'

declare @query varchar(4000) = 
'dtexec /Project C:\SSIS\DUTPackages.ispac /Package cityTransfer.dtsx /decrypt password1!'
+ ' /SET "\Package.Variables[$Package::p_cityID];' +  @p_cityId + '"'
+ ' /SET "\Package.Variables[$Package::p_count];' + @p_count + '"'

exec xp_cmdshell @query

End

在某些情况下,仅参数需要用“。”引起来。因此,请尝试- '" + @p_cityId + "'@p_count相同

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM