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

15,526

Solution 1

I have resolved this issue by changing the Deployment Target Version of Integration Services project in VS in my case from SQL Server 2017 to SQL Server 2016 (the target SQL version). Hope this helps. Old quesition, but came up first in google when I tried to solve my problem.

Solution 2

In my case this issue was caused by deploying an SSIS project to a 2016 server using SQL Mgmt Studio 2017. Once I redeployed using SSMS 2016, it resolved the error.

Share:
15,526
Tod Meinke
Author by

Tod Meinke

Updated on June 05, 2022

Comments

  • Tod Meinke
    Tod Meinke almost 2 years

    I'm using Visual Studio 2015 to create a simple SSIS package. The data source is a DB2 database, and I'm using an ODBC driver on my workstation to connect to DB2. The target is SQL Server 2014.

    The package runs fine locally, but whenever I run it on the server, I'm having trouble with the ODBC data source. The driver on the server is the exact same one with the exact same name as the one on my workstation.

    To get the package into the server, I've imported the dtsx file into SSIS in Stored Packages. I've also tried to deploy the project to the Integration Service Catalog, but I get one of these failures related to the ODBC source when doing so --

    • The version of ODBC File Source, clsid {xxx} is not compatible with this version of the Data Flow.
    • The component is missing, not registered, not upgradeable, or missing required interfaces. The contact information for this component is "ODBC Source;Connector for Open Database Connectivity (ODBC) by Attunity; Attunity Ltd.; All Rights Reserved; http://www.attunity.com

    I've also tried using a file based ODBC source instead of a system one with that file in a shared folder on the server. Again, it runs fine in VS but not on the server.

    I've looked at the dtsx file (xml based) and I suspect that there is a conflict with the DTSID for the ODBC driver. I'm not sure how that works but it seems like that ID would be unique for each computer and that SSIS is getting is trying to use the workstation's DTSID on the server.

    I'm a bit new to SSIS and Visual Studio so I'm hoping I'm assuming there is a straightforward way to run packages developed on a workstation at the server without these hangups. I just can't find anything specific to this problem anywhere.

    We do not have VS or SSDT installed on the server.

    EDIT: I added a second sentence in the 2nd error message above. It refers a connector provided by Attunity, which is something I don't understand. The ODBC driver installed on the system is from Data Direct. The CLSID returned in the error message is also associated with an Attunity connector in the server's registry.

    There are no ODBC drivers from Attunity showing up in either of the ODBC managers, so it's possible that these are somehow part of a default install or were installed when our server used to have SSDT and VS installed directly on it and were never uninstalled. Or, something else?

  • TemporaryFix
    TemporaryFix almost 5 years
    how did you make this change?
  • Yanek
    Yanek almost 5 years
    In the Visual Studio menu Project-->Properties, or just right click on project name in the Solution Explorer and choose Properties. It should be first option in the General properies category named "TargetServerVersion".
  • John Grabanski
    John Grabanski about 4 years
    This needs to be the accepted answer! Once I did this I also had to update the Run64BitRuntime to False as well to make it work.
  • D Todorov
    D Todorov about 2 years
    Work perfect for me, save my day, thanks!