-->

Anyway to deploy a SSIS 2012 project built in VS 2

2019-02-08 13:15发布

问题:

First, I'm loving the very clearly delineated versioning of the SSIS tools. >:(

I installed SSDT BI for Visual Studio 2013 and built a nice little project in it to generate test data. Within VS 2013, I ran this thing hundreds of times. I can deploy it from within the IDE (right click on project...deploy). However I can't deploy it using the .ispac file.

After much searching, I figured out that VS 2013 is building SSIS 2014 .ispac files (PackageFormat=8) and these won't deploy to a SSIS 2012 server (PackageFormat=6).

My question is, if VS can deploy the package built in VS 2013 to SSIS 2012, is there a way to get this to happen via the .ispac file? I can't deploy to any of my servers (only locally), because I'm not in the same domain (actually, I'm working locally, outside of a domain).

回答1:

Yeah - the 'versioning' is awesome! NOT.. The simple answer to this is NO, you cannot use a SSIS package built in VS 2013 on Sql Server 2012 - you can deploy is and set it up, etc - but you will get that version 8 to version 6 nonsense..

This link sql-server-data-tools-business-intelligence-for-visual-studio-2013-ssdt-bi gives you a pretty picture that basically states with VS 2013 you can do SSRS and SSAS on Sql Server 2008, 2012, and 2014 but SSIS only on 2014..

To deploy SSIS packages to SQL Server 2012 you need to build and deploy from VS 2010 or 2012...

Here is the page that explains all the versions - Interoperability and Coexistence (Integration Services) I tried to post the individual links - but I'm new and not allowed...

Hope this helps - this was driving me crazy...



回答2:

To answer your question directly, no, there is no way to fix the issue in the .ispac file. The dtsx files are different in a couple of ways in SQL Server 2012 and 2014. The only solution I found is to downgrade my packages from VS 2013 to VS 2012.

In case you've already developed significant work in Visual Studio 2013 only to realize that you can't deploy it on SQL Server 2012, I found a workaround how you can "downgrade" your SSIS 2014 packages to SSIS 2012. I wrote it on my blog here:

http://vaniecastro.com/2015/02/26/how-to-downgrade-sql-server-integration-services-2014-packages-to-2012/

The idea is that you need to manually modify the XML file, change the PackageFormatVersion and replace ExecutableType property and componentClassID attribute values to use the DTSX2 Version 2012/01 values instead of the DTSX2 Version 2014/01 ones.