由于ODBC数据流任务错误

由于ODBC数据流任务错误

本文介绍了由于ODBC数据流任务错误,SSIS包可在VS中工作,但不能在SSIS中工作的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我们有一个使用VS2017设计的测试包,其中包含一个带有"ODBC Source"和"ODBC Destination"对象的"Data Flow Task"对象.程序包只是试图将记录从表'Table_1'移到表'Table_2'中,而该表名为'Test',位于同一SQL Server 2014数据库中.

We have a test package that was designed using VS2017 that has one "Data Flow Task" object with "ODBC Source" and "ODBC Destination" objects within it. The package is simply trying to move records from table 'Table_1' to table 'Table_2' in the same SQL Server 2014 database named 'Test'.

当我们从VS2017执行包时,它成功运行.

When we execute the package from VS2017, it runs successfully.

但是,当我们将该软件包导入SSIS,然后直接从那里运行该软件包时,我们会收到以下错误消息(请参见下面的屏幕截图):

However, when we import that package into SSIS, and then run the package directly from there, we get the following error messages (see screen shots below):

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".

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

Any ideas as to what is causing these errors?

副题/有趣的注释:

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

屏幕截图:

在这里您可以看到该软件包在VS2017中成功运行:

Here you can see the package is running successfully in VS2017:

该软件包已导入SSIS:

The package was imported into SSIS:

在SSIS中运行它时,它会失败,并显示以下错误:

When you run it in SSIS, it fails with the following errors:

推荐答案

找到了其他帖子的答案.

Found the answer from other posts.

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

First, change the TargetServerVersion property for the project to the version of SQL Server you are using for SSIS as explained by the links below and the screen shot shows.

版本的ODBC源与此版本的数据流不兼容

SSIS :ODBC源版本与此版本的数据流不兼容

这样做之后,您可能会遇到一个错误,提示如下内容:

After you do that, you may run into an error that states something like the following:

[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",并显示屏幕截图.

If you get that error, change the Run64BitRuntime property to 'True' for the project as explained by the link below and the screen shot shows.

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

‌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

这篇关于由于ODBC数据流任务错误,SSIS包可在VS中工作,但不能在SSIS中工作的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持!

07-30 21:27