无法将变量传入OLE DB源命令

时间:2013-12-16 19:32:14

标签: ssis

我正在创建一个涉及where子句的SSIS包: WHERE effectiveDate> = @effectiveDate

因此,我在包级别定义了@effectiveDate,以便我可以使用不同的连接从sql命令传入值。

在OLE DB源代码中,我选择了“SQL命令”,并将代码设置为 选择...... FROM ... WHERE effectiveDate> =?

当我点击'参数'时,会出现错误: '无法从SQL命令中提取参数。 blablabla ...使用“来自变量的SQL命令”......'

我试图避免使用变量中的SQL命令并尝试找到问题,因为我应该能够传入变量。

有人可以帮忙吗?非常感谢!!

1 个答案:

答案 0 :(得分:0)

构建OleDbCommand时,您应该按照包期望的名称命名参数,例如

OleDbCommand cmd = new OleDbCommand( "select ... from... where... eff > @yourPkgPameterName");

cmd.Parameters.AddWithValue( "@yourPkgPameterName", whateverValueToSend );

对于基于SQL的参数已经有一段时间了,并且不记得AddWithValue()方法是否期望“@”...如果失败,可能需要尝试没有它。