« SQL Server Integration Services » : différence entre les versions
De Banane Atomic
Aller à la navigationAller à la recherche
Aucun résumé des modifications |
|||
Ligne 77 : | Ligne 77 : | ||
== [https://support.microsoft.com/en-us/help/2009672/you-may-get-unable-to-prepare-the-ssis-bulk-insert-for-data-insertion Unable to bulk copy data. You may need to run this package as an administrator] == | == [https://support.microsoft.com/en-us/help/2009672/you-may-get-unable-to-prepare-the-ssis-bulk-insert-for-data-insertion Unable to bulk copy data. You may need to run this package as an administrator] == | ||
Utiliser {{boxx|OLE DB Destination}} au lieu de {{boxx|SQL Server Destination}}. | Utiliser {{boxx|OLE DB Destination}} au lieu de {{boxx|SQL Server Destination}}. | ||
= [https://learn.microsoft.com/en-us/sql/integration-services/install-windows/install-integration-services Installation] = |
Version du 13 février 2023 à 10:39
Présentation
Permet de:
- récupérer / télécharger des données
- convertir / modifier les données
- charger les données vers une destination: bdd, fichier
SSIS est un outil ETL (Extraction Transformation and Load)
Liens
Nouveau Projet
Visual Studio → File → New → Project → Installed → Templates → Business Intelligence → Integration Services
Control Flow
Récupération des données.
Exécuter du code SQL
Execute SQL Task
Télécharger un fichier depuis internet
- Spécifier l'url du fichier à télécharger: clique-droit dans Connection Managers → New Connection → Type: HTTP
- Spécifier l'emplacement où télécharger le fichier: clique-droit dans Connection Managers → New File Connection
- Ajouter une Script Task
ScriptMain.cs |
try { // Logging start of download bool fireAgain = true; Dts.Events.FireInformation(0, "Download File", "Start downloading " + Dts.Connections["HTTP Connection Manager"].ConnectionString, string.Empty, 0, ref fireAgain); // Get your newly added HTTP Connection Manager var mySSISConnection = Dts.Connections["HTTP Connection Manager"].AcquireConnection(null); // Create a new connection var myConnection = new HttpClientConnection(mySSISConnection); // Download file and use the File Connectionstring to save the file myConnection.DownloadFile(Dts.Connections["DownloadedFile"].ConnectionString, true); // Logging end of download Dts.Events.FireInformation(0, "Download File", "Finished downloading " + Dts.Connections["DownloadedFile"].ConnectionString, string.Empty, 0, ref fireAgain); // Quit Script Task succesful Dts.TaskResult = (int)ScriptResults.Success; } catch (Exception ex) { // Logging why download failed Dts.Events.FireError(0, "Download File", "Download failed: " + ex.Message, string.Empty, 0); // Quit Script Task unsuccesful Dts.TaskResult = (int)ScriptResults.Failure; } |
Data Flow
Mise en forme des données.
Fichier CSV
SSIS Toolbox Box → Other Destinations/Sources → Flat File Destination/Source
Multiple sources
Connection → MULTIFLATFILE | pour plusieurs fichiers CSV ayant exactement les mêmes colonnes |
Union All | pour réunir des données non triées |
Merge | pour réunir des données triées |
Merge Join | pour réunir des données découpées et liées |
Erreurs
Unable to bulk copy data. You may need to run this package as an administrator
Utiliser OLE DB Destination au lieu de SQL Server Destination.