【问题标题】:SSIS Package Works in VS but not in SSIS because of ODBC Data Flow Task Error由于 ODBC 数据流任务错误,SSIS 包在 VS 中有效,但在 SSIS 中无效
【发布时间】:2018-09-27 22:01:44
【问题描述】:

我们有一个使用 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".

关于导致这些错误的原因有什么想法吗?

几个附带问题/有趣的笔记:

  1. 为什么引用 Attunity?我们没有使用 Attunity 连接器。我们正在使用 ODBC。我什至没有在这台机器上安装 Attunity(我曾经安装过但卸载了它)。
  2. 如果您不将 DataFlow 任务与 OBDC 驱动程序一起使用,而只是在运行简单的“INSERT INTO Table_2...”语句的包中使用一个简单的“执行 SQL 任务”对象,则该包在 SSIS 中运行。使用数据流任务有问题。

屏幕截图:

这里可以看到包在VS2017中运行成功:

包被导入SSIS:

当您在 SSIS 中运行它时,它会失败并出现以下错误:

【问题讨论】:

    标签: ssis visual-studio-2017 odbc sql-server-2014 dataflowtask


    【解决方案1】:

    从其他帖子中找到答案。

    首先,将项目的 TargetServerVersion 属性更改为您用于 SSIS 的 SQL Server 版本,如下面的链接和屏幕截图所示。

    The version of ODBC source is not compatible with this version of the dataflow

    SSIS: version of ODBC source is not compatible with this version of the dataflow

    执行此操作后,您可能会遇到类似以下内容的错误:

    [ODBC Destination [2]] Error: The AcquireConnection method call to the connection manager MyConnectionManager failed with error code 0xC0014009.  There may be error messages posted before this with more information on why the AcquireConnection method call failed.
    

    如果您收到该错误,请将项目的 Run64BitRuntime 属性更改为“True”,如下面的链接和屏幕截图所示。

    ‌https://social.msdn.microsoft.com/Forums/sqlserver/en-US/eb9e6826-b650-433b-bab9-16da214efd99/the-acquireconnection-method-call-to-the-connection-manager-mydatabaseodbc -failed-with-error-code?forum=sqlintegrationservices

    【讨论】:

    • 指出您可以更改正在部署的 SQL Server 版本以帮助解决以下错误这一事实。 “平面文件目标的版本与此版本的 DataFlow 不兼容。”谢谢!
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2015-04-25
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2010-12-02
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多