1

我有一个使用查找的 SSIS 包:

  • Target 和 Source 使用OLE DB连接,查看SQL Server 2008 R2
  • 查找正在使用Full cacheOLE DB 连接管理器(默认值)。
  • Lookup 查找包含13 列的键。其中之一是Date类型,稍后验证失败。

这一切都在我的机器上运行良好,自然。
我可以在生产环境中安装该软件包,但是在运行它时,它会在验证查找时快速失败:

输入列 [ColumnName] (238) 和名为 [ColumnName] 的引用列具有不兼容的数据类型

这显然是一个谎言——它们具有相同的类型。看起来这是 Lookup 组件的一个已知问题:

在这两种情况下,有些人建议以 32 位运行包解决了他们的问题。但是,我的包在 32 位运行时无法连接到服务器...

我错过了什么?我应该安装额外的 x86 提供程序吗?
有没有修复查找的好方法?

4

2 回答 2

1

我知道这是一篇旧帖子,但如果有人在这里绊倒,这是我的解决方案。

我得到了同样的答案,在对 lkp 的查询中,我使用 CAST 语句明确转换了问题数据类型。我在调试时也没有问题,但是在 SSMS 上部署和运行时遇到了错误。这为我修好了。

于 2020-10-09T19:34:21.883 回答
0

作为一种解决方法,我能够在生产服务器上打开 Microsoft Visual Studio 2008 Shell,并通过那里运行包。由于这是一项一次性迁移工作,我并不介意。

于 2013-01-20T09:03:47.423 回答