我们有一个查找转换来进行日期查找。输入列的数据类型是 DT_DBDATE,匹配的查找列也是如此。两者都是 SQL Server 2012 中的 DATE 数据类型。这是一个 SSIS 2012 包。
查找在 BIDS(设计器)中运行良好。通过 SSISDB UI 或我们的自定义存储过程部署和运行时,此查找失败并出现以下错误:
错误:查找状态 Key.Inputs[Lookup Input].Columns[status_dt] 和名为“status_dt”的引用列具有不兼容的数据类型。
我们还会在所有 DATE 列周围看到同步警告,这些警告不会导致失败。
有没有其他人看到过这种行为?
更新:解决方法是将列转换为 DATETIME(SSIS 中的 DT_DBTIMESTAMP)或将基础列更改为 DATETIME。两者都解决了这个问题。两者都很烦人。
我的猜测是问题的根源在于 OLE DB 提供程序。对仅日期数据类型的支持可能有限或不稳定。