Réaliser un composant source pour interroger une Web API : Le déploiement du composant

Cet article fait partie de la série décrite dans cet article.
Pour que le composant soit disponible dans SSDT, il doit figurer dans le répertoire d’installation de SQL Server, pour la version 2012 :
C:\Program Files (x86)\Microsoft SQL Server\110\DTS\PipelineComponents
Je copie donc l’assembly compilée dans ce répertoire.
Dans SSDT, l’alimentation de la toolbox a été simplifiée rapport à la version 2008. Il n’est plus nécessaire de manipuler une interface de choix des composants de la toolbox, ils sont tous présents par défaut. Néanmoins, si votre SSDT était déjà ouvert lorsque vous avez déposé le composant il vous faut rafraichir (click droit Rafraichir) la toolbox SSIS pour le voir apparaitre.
Le composant dans la SSIS Toolbox
A ce stade, vous pouvez utiliser en mode conception le composant MAIS pas à l’exécution.
Lors de l’exécution, ce sont les composants présents dans le GAC qui sont instanciés. Il vous faut donc également déployer dans le GAC.
Mon assembly est signée, je peux donc exécuter l’instruction : Gacutil -i WebApiSourceComponent.dll
NB : Si vous avez besoin de mettre à jour un composant, vous devez fermer votre SSDT. Celui-ci prend des verrous sur les assemblies des composants.
Ces étapes sont également à déroulées sur le serveur sur lequel vous déploierez les packages après la phase de développement (Serveur de test ou de production SQL par exemple).

PS : J’ai rencontré une erreur mal maîtrisée lors du déploiement de mon composant. Lors de l’exécution de celui-ci depuis SSDT, j’avais une exception m’indiquant que la méthode PerformUpgrade échouait. Sachant qu’aucune upgrade n’était nécessaire, j’ai surchargé dans mon composant cette méthode :

public override void PerformUpgrade(int pipelineVersion){}

Mon composant est désormais pleinement fonctionnel et peut donc être inséré dans un data flow.