SSIS et SharePoint
SharePoint permet de structurer et stocker des informations. Ces informations vivent dans SharePoint et sont consultables par plusieurs biais (site, webservice, code). Nativement il est possible d’exporter ces données vers Excel. Vous pouvez aller encore plus loin dans l’export – et l’import- de données avec SSIS.
Qu’est-ce que SSIS ?
SSIS est l’ETL de Microsoft qui est une brique intégrée à SQL Server. ETL est l’acronyme de Extract Transform and Load. Comme son nom l’indique il s’agit d’un logiciel qui permet d’extraire les données d’une source A, de les travailler (filtrer, enrichir, combiner, convertir, …) puis de les exporter vers une destination B. La richesse d’un ETL vient de :
- ses connecteurs, c’est à dire avec quoi peut-il communiquer en lecture/écriture (SQL Server, Oracle, fichier plat, SharePoint, …);
- les opérations qu’il peut effectuer sur les données (filtre, agrégation, enrichissement, …).
Outils nécessaires
La démonstration consiste à récupérer les données d’une liste SharePoint, sélectionner les colonnes voulues, convertir les formats de données au besoin et exporter dans un fichier à plat.
Pour débuter dans le développement SSIS, vous aurez besoin de :
- SQL Server 2012 avec SSIS;
- SQL Server Data tools (SSTD), l’environnement de développement basé sur Visual Studio qui permet de créer des packages SSIS. Il est précédemment appelé BIDS (Business Intelligence Development Studio).
- un environnement SharePoint;
- un connecteur SharePoint pour SSIS.
Maintenant vous devez choisir votre connecteur. Vous en trouverez 3 gratuit en cherchant :
- SharePoint List Source and Destination, Microsoft SQL Server Community Samples: Integration Services, sur codeplex
- SSIS Connector for Sharepoint Online sur codeplex
- Microsoft® OData Source for Microsoft SQL Server® 2012
<td width="192">
<strong>SP Connector</strong>
</td>
<td width="192">
<strong>SSIS Connector for SP Online</strong>
</td>
<td width="192">
<strong>OData Source</strong>
</td>
<td width="192">
X
</td>
<td width="192">
</td>
<td width="192">
X
</td>
<td width="192">
X
</td>
<td width="192">
</td>
<td width="192">
X
</td>
<td width="192">
</td>
<td width="192">
X
</td>
<td width="192">
X
</td>
Le choix le plus judicieux est donc le composant OData Source de Microsoft.
Utilisation de OData Source pour SQL Server 2012
Une fois l’installation effectuée sur votre poste de développement, vous verrez apparaitre un nouvel élément dans VSDT.
Composant OData Source dans Data Tools
Dans le dataflow, vous glissez-déplacer un OData Source, un Data Conversion et un Flat File Destination pour obtenir le schéma suivant.
Dataflow
Vous devez configurer les différents composants. Dans le OData Source, vous devez renseigner l’URL de votre site SharePoint suffixé de /_vti_bin/listdata.svc. Précisez aussi les informations nécessaires pour l’authentification (Windows authentication ou un couple login/password).
Paramètre du gestionnaire de connexion OData
Si vous utilisez Office 365, vous devrez le préciser en passant Microsoft Online Services Authentication à True comme dans la capture ci-dessous :
Configuration de la connexion OData pour Office 365
Ensuite vous devrez préciser la liste d’où vous voulez récupérer des données. Il vous est possible de passer des paramètres de requêtes. Vous devez ensuite choisir les colonnes que vous voulez récupérer.
Choix de la source de données
Dernières étapes, convertir les données si nécessaire puis faire le mapping entre les colonnes sources et les colonnes du fichier à plat.
Ensuite vous exécutez le package SSIS et – si tout est bien configuré – vous verrez SSDT passer en mode DEBUG et présenter l’exécution en temps réel.
Exécution du Dataflow
Résolution des erreurs rencontrées
Error 1 : The package failed to load due to error 0xC0011008
Si votre package de contient pas d’erreur lors de la conception mais que message suivant apparait lors de l’exécution :
The package failed to load due to error 0xC0011008 « Error loading from XML. No further detailed error information can be specified for this problem because no Events object was passed where detailed error information can be stored. ». This occurs when CPackage::LoadFromXML fails.
Il faut configurer votre package pour ne plus s’exécuter en 64bits.
Solution Explorer> clic droit sur le projet, properties
Configuration properties > debugging > Run64BitRuntime : False
Résolution : The package failed to load due to error 0xC0011008
Error 2 : The remote server returned an error: (407) Proxy Authentication Required
Si quand vous testez votre connexion aux données, le message suivant apparait :
The remote server returned an error: (407) Proxy Authentication Required.
Alors vous devez configurer votre connexion dans Internet Explorer
Résolution : The remote server returned an error: (407) Proxy Authentication Required
Comme vous avez pu vous en rendre compte, il est relativement simple d’extraire des données de SharePoint avec SSIS. D’autant plus qu’aucune ligne de code n’est nécessaire dans notre exemple.
Références:
[SharePoint permet de structurer et stocker des informations. Ces informations vivent dans SharePoint et sont consultables par plusieurs biais (site, webservice, code). Nativement il est possible d’exporter ces données vers Excel. Vous pouvez aller encore plus loin dans l’export – et l’import- de données avec SSIS.
Qu’est-ce que SSIS ?
SSIS est l’ETL de Microsoft qui est une brique intégrée à SQL Server. ETL est l’acronyme de Extract Transform and Load. Comme son nom l’indique il s’agit d’un logiciel qui permet d’extraire les données d’une source A, de les travailler (filtrer, enrichir, combiner, convertir, …) puis de les exporter vers une destination B. La richesse d’un ETL vient de :
- ses connecteurs, c’est à dire avec quoi peut-il communiquer en lecture/écriture (SQL Server, Oracle, fichier plat, SharePoint, …);
- les opérations qu’il peut effectuer sur les données (filtre, agrégation, enrichissement, …).
Outils nécessaires
La démonstration consiste à récupérer les données d’une liste SharePoint, sélectionner les colonnes voulues, convertir les formats de données au besoin et exporter dans un fichier à plat.
Pour débuter dans le développement SSIS, vous aurez besoin de :
- SQL Server 2012 avec SSIS;
- SQL Server Data tools (SSTD), l’environnement de développement basé sur Visual Studio qui permet de créer des packages SSIS. Il est précédemment appelé BIDS (Business Intelligence Development Studio).
- un environnement SharePoint;
- un connecteur SharePoint pour SSIS.
Maintenant vous devez choisir votre connecteur. Vous en trouverez 3 gratuit en cherchant :
- SharePoint List Source and Destination, Microsoft SQL Server Community Samples: Integration Services, sur codeplex
- SSIS Connector for Sharepoint Online sur codeplex
- Microsoft® OData Source for Microsoft SQL Server® 2012
<td width="192">
<strong>SP Connector</strong>
</td>
<td width="192">
<strong>SSIS Connector for SP Online</strong>
</td>
<td width="192">
<strong>OData Source</strong>
</td>
<td width="192">
X
</td>
<td width="192">
</td>
<td width="192">
X
</td>
<td width="192">
X
</td>
<td width="192">
</td>
<td width="192">
X
</td>
<td width="192">
</td>
<td width="192">
X
</td>
<td width="192">
X
</td>
Le choix le plus judicieux est donc le composant OData Source de Microsoft.
Utilisation de OData Source pour SQL Server 2012
Une fois l’installation effectuée sur votre poste de développement, vous verrez apparaitre un nouvel élément dans VSDT.
Composant OData Source dans Data Tools
Dans le dataflow, vous glissez-déplacer un OData Source, un Data Conversion et un Flat File Destination pour obtenir le schéma suivant.
Dataflow
Vous devez configurer les différents composants. Dans le OData Source, vous devez renseigner l’URL de votre site SharePoint suffixé de /_vti_bin/listdata.svc. Précisez aussi les informations nécessaires pour l’authentification (Windows authentication ou un couple login/password).
Paramètre du gestionnaire de connexion OData
Si vous utilisez Office 365, vous devrez le préciser en passant Microsoft Online Services Authentication à True comme dans la capture ci-dessous :
Configuration de la connexion OData pour Office 365
Ensuite vous devrez préciser la liste d’où vous voulez récupérer des données. Il vous est possible de passer des paramètres de requêtes. Vous devez ensuite choisir les colonnes que vous voulez récupérer.
Choix de la source de données
Dernières étapes, convertir les données si nécessaire puis faire le mapping entre les colonnes sources et les colonnes du fichier à plat.
Ensuite vous exécutez le package SSIS et – si tout est bien configuré – vous verrez SSDT passer en mode DEBUG et présenter l’exécution en temps réel.
Exécution du Dataflow
Résolution des erreurs rencontrées
Error 1 : The package failed to load due to error 0xC0011008
Si votre package de contient pas d’erreur lors de la conception mais que message suivant apparait lors de l’exécution :
The package failed to load due to error 0xC0011008 « Error loading from XML. No further detailed error information can be specified for this problem because no Events object was passed where detailed error information can be stored. ». This occurs when CPackage::LoadFromXML fails.
Il faut configurer votre package pour ne plus s’exécuter en 64bits.
Solution Explorer> clic droit sur le projet, properties
Configuration properties > debugging > Run64BitRuntime : False
Résolution : The package failed to load due to error 0xC0011008
Error 2 : The remote server returned an error: (407) Proxy Authentication Required
Si quand vous testez votre connexion aux données, le message suivant apparait :
The remote server returned an error: (407) Proxy Authentication Required.
Alors vous devez configurer votre connexion dans Internet Explorer
Résolution : The remote server returned an error: (407) Proxy Authentication Required
Comme vous avez pu vous en rendre compte, il est relativement simple d’extraire des données de SharePoint avec SSIS. D’autant plus qu’aucune ligne de code n’est nécessaire dans notre exemple.
Références:
](http://sqlsrvintegrationsrv.codeplex.com/releases/view/17652)
SSIS Connector for Sharepoint Online sur codeplex
Microsoft® OData Source for Microsoft SQL Server® 2012
Introduction à SSIS et BIML sur MVA