DataImporter - Fichier de configuration XML

AFFICHER TOUT LE CONTENU

Table des matières

Aperçu

Le fichier de configuration est un fichier texte en format XML (encodage ANSI) qui contient l'information nécessaire sur la source de données à importer. Le présent article explique le format du fichier, les balises à utiliser et comment modifier ou corriger ce fichier.

Références

Liens vers les articles reliés à l'exécution de l'importation et aux spécifications des données sources.

Fichier de configuration XML

Squelette d'un fichier XML typique

<?xml version="1.0" encoding="utf-8" ?>
<Sources>
  <Source Name="Nom de la source">
        <ConnectionString>Chaîne de caractères contenant toute l'information selon le type de la source</ConnectionString>
        <ViewName>[Nom de la vue]</ViewName>
        <Content>Type de contenu</Content>
        ...
        [Toutes autres balises nécessaires selon le type de données importés]
        ...
  </Source>
</Sources>
Explication des balises de bases

 

  • <Source Name="valeur">
    • Le Source Name ou nom de source est une donnée importée dans la base de données à titre de référence pour indiquer d'où provient l'importation et peut être réutilisé pour les mises à jour lorsqu'il y a une gestion automatique au niveau des relations entre les CI.
      Cette donnée n'est pas validée, mais il est important d'entrer une valeur significative et différente pour indiquer le type de données importées (Ordinateurs, Écrans, Utilisateurs, etc.).
      Lors d'importation régulière, c'est sur cette valeur que le système se fie pour comparer les données possiblement à écraser.
    • Cette valeur sera visible dans la colonne "Nom de la source d'importation" dans Octopus.
  • <ConnectionString>Chaîne de caractère contenant toute l'information selon le type de la source</ConnectionString>
    • La balise de ConnectionString ou chaîne de connexion, regroupe toutes les informations spécifiques à propos d'un fournisseur OLEDB et comment s'y connecter.
      On retrouve tous les types de connexions disponibles sur le site https://www.connectionstrings.com.
    • Voir la section suivante pour des exemples de connexion les plus utilisées.
  • <ViewName>[Nom de la vue]</ConnectionString>
    • ​Le ViewName ou nom de la vue permet d'indiquer à DataImporter le nom de l'objet qui permet d'obtenir les données à importer.

    • Voir la section suivante pour des exemples

  • <Content>CI</Content>

  • Toutes autres balises nécessaires selon le type de données importés
    • Selon le type de contenu importé, d'autres balises seront nécessaires au fonctionnement de DataImporter.
      Se référer au Wiki propre au contenu importé pour obtenir les balises supplémentaires.

 

ConnectionString

Connection string ou chaîne de connexion, cet élément est probablement le plus complexe du fichier. Il indique à DataImporter quel pilote (driver) et quelle source de données à utiliser.

Squelette d'une chaîne de connexion

<ConnectionString>Provider=Nom du pilote OLEDB / ODBC / SQL;Data Source=Nom de la source;Extended Properties="Informations supplémentaires pour traiter les données";</ConnectionString>
<ViewName>[Nom de la vue]</ViewName>

 

Explication des balises

<ConnectionString>

  • Provider
    • Nom du pilote (driver) à utiliser pour se connecter au fichier source. Les plus communs sont :
      • Fichier CSV
        • Microsoft.Jet.OLEDB.4.0
      • Feuille Excel / Table / Vue Access
        • Microsoft.ACE.OLEDB.16.0
      • Table / Vue / Procédure stocké SQL
        • SQLNCLI
  • Data Source
    • Nom de la source de données que le pilote doit utiliser pour se connecter

      • Fichier CSV

        • Nom du répertoire où se trouve le fichier CSV

      • Feuille Excel / Table / Vue Access

        • Nom du fichier Excel ou Access
      • Table / Vue / Procédure stockée SQL
        • Nom du serveur SQL ainsi que les identifiants de connexions
  • Extended Properties

    • Varie selon le pilote / source de données. Les plus communes sont :

      • Fichier CSV

        • text;HDR=Yes;FMT=Delimited
          HDR=Yes : ​​Spécifie au pilote OLEDB que la première ligne contient les entête​
          FMT=Delimited : Spécifie au pilote OLEDB que les colonnes sont délimitées par une virgule

      • Feuille Excel

         
        • Excel 12.0 Xml;HDR=Yes;IMEX=1
          HDR=Yes
          Spécifie au pilote OLEDB que la première ligne contient les entêtes
          IMEX=1 : Spécifie au pilote OLEDB de traiter le contenu de colonne mixte comme étant du texte

      • Autres types de source (SQL ou Access)

        • Ce paramètre doit être retiré. Il n'est pas nécessaire

<ViewName>

  • ​Le View Name ou nom de la vue à importer indique la feuille à importer si l'importation provident d'Excel et le nom de la table ou de la vue si l'importation provient d'une base de données (Access, SQL, etc.).
  • Ce nom ne doit contenir aucun caractère accentué (é, à, ê, â, etc.) ou d'esperluette ( & ).
  • La valeur de cet élément varie selon la source de données :
    • ​Fichier CSV

      • Spécifier le nom du fichier csv. Il ne doit pas contenir des traits d'union ( - ).

      • Exemple : <ViewName>ImportationCI.csv</ViewName>

    • Excel

      • Mettre le nom de la feuille du chiffrier Excel entre crochets et avec le symbole $ à la fin. 

      • ​Exemple : <ViewName>[Sheet1$]</ViewName>

    • SQL, Access ou autre base de données

      • Spécifier le nom de la table ou de la vue.

      • Exemple : <ViewName>VUE_CI</ViewName>

​​

ATTENTION 
Seuls les textes en noir nécessitent des modifications. La partie en bleue doit demeurer telle quelle.

 

Exemples de chaîne de connexions

Feuille Excel

Feuille nommée StationDeTravail dans un fichier XLSX existant sous le chemin C:\DataImporter\CI.xlsx

<ConnectionString>Provider=Microsoft.ACE.OLEDB.16.0;Data Source=C:\DataImporter\CI.xlsx;Extended Properties="Excel 12.0 Xml;HDR=Yes;IMEX=1";</ConnectionString>
<ViewName>[StationDeTravail$]</ViewName>

Vue Access

Vue nommée Serveurs dans un fichier ACCDB existant sous le chemin C:\DataImporter\MaBaseDeDonnees.accdb

<ConnectionString>Provider=Microsoft.ACE.OLEDB.16.0;Data Source=C:\DataImporter\MaBaseDeDonnees.accdb;Persist Security Info=False;</ConnectionString>
<ViewName>[Serveurs]</ViewName>

Vue SQL

Vue nommée DI_Workstation existante dans la base de données ImportOctopus sur le serveur SQL nommé OCTOSQL01

<ConnectionString>Provider=SQLNCLI;Server=OCTOSQL01;Database=ImportOctopus;Trusted_Connection=yes;</ConnectionString>
<ViewName>[DI_WORKSTATION]</ViewName>

Fichier CSV

Fichier CSV existant sous le chemin C:\DataImporter\CI.csv

<ConnectionString>Provider=Microsoft.Jet.OLEDB.4.0;Data Source=C:\DataImporter\;Extended Properties="text;HDR=Yes;FMT=Delimited";</ConnectionString>
<ViewName>CI.csv</ViewName>

Note : Dataimporter n'accepte pas user.csv comme nom de fichier ni des traits d'union ( - ) dans le nom.

Note : Si votre fichier contient des accents, il faut ajouter characterset=65001; dans la ligne de commande comme suit : <ConnectionString>Provider=Microsoft.Jet.OLEDB.4.0;Data Source=C:\IMPORTSClients\isq-poc\;Extended Properties="text;characterset=65001;HDR=Yes;FMT=Delimited";</ConnectionString>

Vue ODBC

Vue nommée MaVue existante dans le DSN dsnName

<ConnectionString>Provider=MSDASQL;DSN=dsnName;UID=NomUsager;PWD=MotDePasse;</ConnectionString>
<ViewName>MaVue</ViewName>

 

Trucs et astuces

  • Si la source de données est disponible en format ODBC, il faut d'abord installer un pilote ODBC et configurer un DSN approprié avant d'utiliser le Fournisseur OLEDB pour ODBC (MSDASQL).
  • Si des problèmes sont rencontrés à identifier l'erreur contenue dans le fichier de configuration XML, un valideur en ligne est disponible chez w3Schools XML Validator. Pour ce faire, copier le contenu du fichier XML dans la boite Syntax-Check Your XML avant d'appuyer sur le bouton Validate.
  • Si vous souhaitez utiliser un séparateur différent de la virgule dans un fichier CSV, référez-vous à la documentation de Microsoft sur l'utilisation de Fichier Schema.ini. Le fichier schema.ini devra être déposé dans le même dossier que votre fichier CSV, comme indiqué dans votre fichier XML.
X
Aidez-nous à améliorer l’article