【问题标题】:ssis 2005 query parameter date time cast failssis 2005 查询参数日期时间转换失败
【发布时间】:2014-06-30 19:20:22
【问题描述】:

在我的 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 是日期时间类型。我必须将变量更改为日期时间吗?

【问题讨论】:

  • 您已经回答了,是的,请更改并尝试它会起作用。

标签: ssis


【解决方案1】:

检查查询返回的值的数据类型以及将其映射到的参数的数据类型。它们应该是兼容的,否则你会得到这样的转换异常。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-12-18
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多