Sqlserver
 sql >> Base de données >  >> RDS >> Sqlserver

Comment exécuter un package SSIS dans SqlServer 2012 à l'aide de vs2010 ?

Prendre une autre bouchée au problème mais voir Définir le chemin du package de base de données SSIS et Organisation SSIS pour la lecture en arrière-plan.

Jusqu'à SSIS 2012, si les packages étaient déployés sur SQL Server, ils vivaient dans la msdb. L'API .NET pour interagir avec eux était la même d'une version à l'autre.

Avec la version 2012 de SSIS, nous avons deux modèles de déploiement différents. Le déploiement de packages, qui est le modèle "classique", est vivant et entièrement pris en charge. Le même code pour exécuter un package sur 2005 fonctionnera pour les projets de modèle de déploiement de package 2012. C'est le Microsoft.SqlServer.Dts.Runtime Espace de noms

Votre code tente de charger une solution 2012 créée à l'aide du "modèle de déploiement de projet" avec l'API "modèle de déploiement de package". Il s'agit de Microsoft.SqlServer.Management.IntegrationServices L'espace de noms et les deux ne font pas bon ménage.

Vos options consistent à rebasculer votre projet vers le modèle de déploiement de package ou à mettre à jour votre code. Dans la première question liée, j'ai fourni l'implémentation VB.NET pour exécuter un package SSIS dans le catalogue SSISDB. Il y a certains manière d'exécuter un fichier .ispac car je vois l'option dans dtexec mais je ne vois pas la méthode spécifique. C'est le mécanisme que VS/SSDT utilise lorsqu'il exécute les packages localement.