SSIS查找转换在日期列上失败

时间:2013-03-12 21:22:09

标签: ssis sql-server-2012

我们有一个查找日期查找的Lookup变换。输入列数据类型是DT_DBDATE,匹配查找列也是如此。两者都是SQL Server 2012中的DATE数据类型。这是SSIS 2012包。

查找在BIDS(设计师)中运行良好。部署并运行SSISDB UI或通过我们的自定义sproc时,此查找失败,并显示以下错误:

  

错误:查找状态Key.Inputs [查找输入] .Columns [status_dt]和   名为“status_dt”的引用列具有不兼容的数据类型。

我们还会在所有DATE列周围看到同步警告,这些警告不会导致失败。

还有其他人看到过这种行为吗?

更新:解决方法是将列转换为DATETIME(SSIS中的DT_DBTIMESTAMP)或将基础列更改为DATETIME。两者都解决了这个问题。两者都很烦人。

我的猜测是问题的根源在OLE DB提供程序中。对于仅限日期的数据类型,可能存在有限或不稳定的支持。

1 个答案:

答案 0 :(得分:3)

我有一个答案。问题是我没有在连接字符串上指定提供程序。当我添加 Provider = SQLNCLI11.1; 时,问题已解决。