Gestionnaire de connexions Excel

S’applique à :SQL Server SSIS Integration Runtime dans Azure Data Factory

Un gestionnaire de connexions Excel permet à un package de se connecter à un fichier de classeur Microsoft Excel. La source et la destination Excel incluses dans Microsoft SQL Server Integration Services utilisent le gestionnaire de connexions Excel.

Important

Pour obtenir des informations détaillées sur la connexion à des fichiers Excel, et sur les limitations et les problèmes connus liés au chargement de données depuis ou vers des fichiers Excel, consultez Charger des données depuis ou vers Excel avec SQL Server Integration Services (SSIS).

Quand vous ajoutez un gestionnaire de connexions Excel à un package, Integration Services crée un gestionnaire de connexions qui est converti en connexion Excel au moment de l’exécution, définit les propriétés du gestionnaire de connexions et ajoute le gestionnaire de connexions à la collection Connections du package.

La propriété ConnectionManagerType du gestionnaire de connexions a pour valeur EXCEL.

Configurer le gestionnaire de connexions Excel

Vous pouvez configurer le gestionnaire de connexions Excel de plusieurs manières :

  • Spécifiez le chemin d'accès du fichier Excel.

  • Spécifiez la version d'Excel utilisée pour créer le fichier.

  • Indiquez si la première ligne de données dans les feuilles de calcul ou plages sélectionnées contient des noms de colonnes.

Vous pouvez définir les propriétés par le biais du concepteur SSIS ou par programmation.

Pour plus d’informations sur les propriétés définissables dans le concepteur SSIS , consultez Éditeur du gestionnaire de connexions Excel.

Pour plus d’informations sur la configuration d’un gestionnaire de connexions par programmation, consultez ConnectionManager et Ajout de connexions par programme.

Éditeur du gestionnaire de connexions Excel

La boîte de dialogue Éditeur du gestionnaire de connexions Excel vous permet d'ajouter une connexion à un classeur Microsoft Excel existant ou nouveau.

Options

Chemin de fichier Excel
Tapez le chemin et le nom d’un fichier de classeur Excel existant ou nouveau.

Parcourir
Utilisez la boîte de dialogue Ouvrir pour accéder au dossier contenant le fichier Excel existant ou au dossier où vous souhaitez créer le fichier.

Version Excel
Spécifiez la version de Microsoft Excel qui a été utilisée pour créer le fichier.

La première ligne possède des noms de colonnes
Permet de spécifier si la première ligne de données dans la feuille de calcul sélectionnée contient les noms des colonnes. La valeur par défaut de cette option est True.

Solution pour importer des données de types mixtes à partir d'Excel

Si vous utilisez des données contenant des types de données mixtes, par défaut, le pilote Excel lit les 8 premières lignes (configurées par la clé de registre TypeGuessRows). Sur la base des 8 premières lignes de données, le pilote Excel essaie de deviner le type de données de chaque colonne. Par exemple, si votre source de données Excel comporte des chiffres et du texte dans une colonne, si les 8 premières lignes contiennent des chiffres, le pilote peut déterminer, sur la base de ces 8 premières lignes, que les données de la colonne sont de type entier. Dans ce cas, SSIS ignore les valeurs de texte et les importe comme des données NULL dans la destination.

Pour résoudre ce problème, vous pouvez essayer l'une des solutions suivantes :

  • Remplacez le type de colonne Excel par Texte dans le fichier Excel.

  • Ajoutez la propriété étendue IMEX à la chaîne de connexion pour remplacer le comportement par défaut du pilote. Lorsque vous ajoutez la propriété étendue « ;IMEX=1 » à la fin de la chaîne de connexion, Excel traite toutes les données comme du texte. Voir l’exemple suivant :

    Provider=Microsoft.ACE.OLEDB.12.0;Data Source=C:\ExcelFileName.xlsx;Extended Properties="EXCEL 12.0 XML;HDR=YES;IMEX=1";
    

    Pour que cette solution fonctionne de manière fiable, vous devrez peut-être également modifier les paramètres du registre. Le fichier main.cmd se présente comme suit :

    reg add "HKEY_LOCAL_MACHINE\SOFTWARE\WOW6432Node\Microsoft\Office\12.0\Access Connectivity Engine\Engines\Excel" /t REG_DWORD /v TypeGuessRows /d 0 /f
    reg add "HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Office\12.0\Access Connectivity Engine\Engines\Excel" /t REG_DWORD /v TypeGuessRows /d 0 /f
    reg add "HKEY_LOCAL_MACHINE\SOFTWARE\WOW6432Node\Microsoft\Office\14.0\Access Connectivity Engine\Engines\Excel" /t REG_DWORD /v TypeGuessRows /d 0 /f
    reg add "HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Office\14.0\Access Connectivity Engine\Engines\Excel" /t REG_DWORD /v TypeGuessRows /d 0 /f
    reg add "HKEY_LOCAL_MACHINE\SOFTWARE\WOW6432Node\Microsoft\Office\15.0\Access Connectivity Engine\Engines\Excel" /t REG_DWORD /v TypeGuessRows /d 0 /f
    reg add "HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Office\15.0\Access Connectivity Engine\Engines\Excel" /t REG_DWORD /v TypeGuessRows /d 0 /f
    reg add "HKEY_LOCAL_MACHINE\SOFTWARE\WOW6432Node\Microsoft\Office\16.0\Access Connectivity Engine\Engines\Excel" /t REG_DWORD /v TypeGuessRows /d 0 /f
    reg add "HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Office\16.0\Access Connectivity Engine\Engines\Excel" /t REG_DWORD /v TypeGuessRows /d 0 /f
    
  • Enregistrez le fichier au format CSV et modifiez le package SSIS pour qu’il prenne en charge une importation CSV.

Charger des données depuis ou vers Excel avec SQL Server Integration Services (SSIS)
Source Excel
Destination Excel