我们有一个使用 VS2017 设计的测试包,其中包含一个“数据流任务”对象,其中包含“ODBC 源”和“ODBC 目标”对象。该程序包只是尝试将记录从表“Table_1”移动到名为“Test”的同一 SQL Server 2014 数据库中的表“Table_2”。
当我们从 VS2017 执行包时,它运行成功。
但是,当我们将该包导入 SSIS,然后直接从那里运行该包时,我们会收到以下错误消息(请参见下面的屏幕截图):
The version of ODBC Destination, clsid {51B271F1-3B7E-4875-870E-62A0456FE2AD} is not compatible with this version of the DataFlow.
The version of ODBC Source, clsid {F8600F4A-E321-42F4-AA59-DA00FA374EA5} is not compatible with this version of the DataFlow.
The component is missing, not registered, not upgradeable, or missing required interfaces. The contact information for this component is "ODBC Destination;Connector for Open Database Connectivity (ODBC) by Attunity; Attunity Ltd.; All Rights Reserved; http://www.attunity.com;7".
关于是什么导致这些错误的任何想法?
几个小问题/有趣的笔记:
- 为什么要引用 Attunity?我们没有使用 Attunity 连接器。我们正在使用 ODBC。我什至没有在这台机器上安装 Attunity(我曾经安装过但卸载了它)。
- 如果您不将 DataFlow 任务与 OBDC 驱动程序一起使用,而只是在运行简单的“INSERT INTO Table_2...”语句的包中使用一个简单的“执行 SQL 任务”对象,则该包在 SSIS 中运行。使用数据流任务有问题。
屏幕截图:
在这里可以看到包在VS2017中运行成功:
将包导入 SSIS:
当您在 SSIS 中运行它时,它会失败并出现以下错误: