当我运行带有参数但没有参数的SSIS包时,我遇到了问题。
可能是什么问题?
不带参数的查询-
开始
声明@query varchar(4000)=
'dtexec / Project C:\ SSIS \ DUTPackages.ispac / Package cityTransfer.dtsx / decrypt password1!'
exec xp_cmdshell @查询
结束
使用参数查询-
开始
声明@p_cityId varchar(10)='%'
声明@p_count varchar(10)='-1'
声明@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 @查询
结束
使用参数-
运行查询时出现错误 [OLE DB源[25]]错误:SSIS错误代码DTS_E_OLEDBERROR。发生OLE DB错误。错误代码:0x80040E10。
[SSIS.Pipeline]错误:OLE DB源在预执行阶段失败,并返回了错误代码0xC0202009。
答案 0 :(得分:0)
我认为您可能只需要添加一些双引号并删除几个单引号即可。试试这个:
margin 0 auto;
答案 1 :(得分:0)
在某些情况下,仅参数需要用“。”引起来。因此,请尝试-'" + @p_cityId + "'
,对于@p_count
也是相同的