在我的SSIS 2005包中,在OLE DB源代码(SQL Server 2005)中,我尝试使用一个参数执行查询
OLE DB源中的查询
select
...
from..
where
txn_date_time >= ?
如您所见,查询从变量中获取一个参数。变量是类型字符串,值为20140622
运行包时,OLE DB源中出现此错误。 ... 描述:“转换规范的字符值无效”。
也尝试了这个并得到了同样的错误。 txn_date_time> = cast(?as datetime)
查询可以在SSMS中完美运行,例如
select
...
from..
where
txn_date_time >= '20140622'
在我看来,SSIS只允许将类型日期时间的参数传递给查询,因为txn_date_time是类型日期时间。我是否必须将变量更改为键入日期时间?
答案 0 :(得分:0)
检查查询返回的值的数据类型以及要将其映射到的参数的数据类型。它们应该是兼容的,否则你会得到这样的强制例外。