在我的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是类型日期时间 . 我是否必须将变量更改为键入日期时间?
1 回答
检查查询返回的值的数据类型以及要将其映射到的参数的数据类型 . 它们应该兼容,否则你会得到这样的强制转换异常