...
3 : Les paramètres de description du fichier source et de comportement du traitement : Ce paramètre est optionnel. S’il n’est pas renseigné, le traitement d’import fonctionnera en appliquant des paramètres par défaut.
Les valeurs par défaut :
Si aucun paramètre n’est fourni à la fonction concernant la description du fichier source, la fonction considérera le fichier source comme un fichier :
=> Au format CSV,
=> Utilisant le caractère ‘;’ comme séparateur de colonnes,
=> Ayant les entêtes de colonnes sur la première ligne du fichier,
=> Utilisant le point comme séparateur décimals,
=> Utilisant un format de date compatible avec le moteur SQL,
=> Utilisant les guillemets comme identificateur de texte,
=> Ayant ses colonnes de mêmes noms que les colonnes de la table de destination.
De plus les données présentes dans le fichier sont ajoutées dans la table de destination.
La description du fichier d'export :
Les paramètres de fonctionnement de l’import peuvent être enregistrés dans un fichier texte au format d’un fichier ini. Dans ce cas, le paramètre contiendra la chaîne de caractères ‘’FICHIER={chemin+nom du fichier}’’.
L’exemple ci-dessous présente le contenu possible d’un fichier de description d’un import d’un fichier dans une table. Ce contenu peut donc être stocké dans un fichier dont le chemin d’accès sera passé en paramètre à la fonction ou bien dans une chaîne de caractères directement passée en paramètre de la fonction.
...
Cette description reprend le formalisme d’un fichier ini avec des sections et des valeurs. Il est important que :
Les crochets soient présents pour définir le nom de la section.
Qu'il n'y ait pas d'espace autour du signe égal entre le nom de la propriété et sa valeur.
Que la casse soit respectée dans le nom des sections et des propriétés.
La section [FileDescription] du fichier mis en 3ème paramètre :
Un fichier de type CSV peut contenir les entêtes de colonnes et des colonnes définies de différentes manières comme avec des largeurs fixes ou non.
Il est donc possible de préciser ces informations avec les propriétés suivantes :
FixeWidth : Cette propriété permet d’indiquer que les largeurs des colonnes sont d’une largeur fixe en nombre de caractères (1=oui). Par défaut, le traitement considère que les largeurs ne sont pas fixes (0=non). Si le fichier est défini selon des colonnes fixes, la section [FileColumns] devient obligatoire.
ColumnsHeader : Valeur 1 (oui) ou 0 (non), cette propriété permet de préciser si les entêtes de colonnes sont présentes en première ligne du fichier ou non.
ColumnsSeparator : Caractère, cette propriété permet de préciser le caractère à utiliser pour indiquer le changement de colonnes, ‘ ;’ Par défaut. Il faut indiquer la chaîne ‘TAB’ à ce niveau pour indiquer que le caractère de séparation correspond à la tabulation.
TextIdentificator : Caractère, cette propriété permet de préciser le caractère utilisé pour identifier des chaînes de caractères dans les valeurs des colonnes quand elles peuvent contenir le caractère de séparation des colonnes. Guillemet (‘’) par défaut et limité à un seul caractère.
SeparatorDecimal : Caractère, indique le caractère utilisé comme séparateur décimal pour les valeurs numériques. Le traitement considère le point comme caractère par défaut.
Si aucun format de date et heure n’est mentionné dans les paramètres de fonctionnement, le traitement d’import enverra dans la colonne de date la chaîne de caractères trouvée dans le fichier source sans transformation de la date et heure contenue. Il convient donc dans ce cas de s’assurer de la compatibilité du format contenu dans le fichier avec le serveur SQL.
Dans le cas d’un format de date et heure présent dans le fichier source non reconnu par le serveur SQL (exemple : format anglais dans le fichier et base de données en français), il est alors nécessaire de fournir le format de date présent dans le fichier à l’aide des définitions suivantes :
ShortDateFormat : Cette propriété permet de préciser la position de l’année, du mois et du jour dans la chaîne de caractères qui représentera une date dans les colonnes du fichier source. Il convient d’utiliser la convention suivante : yyyy pour l’année, MM pour le mois et dd pour le jour. Si un caractère de séparation est utilisé pour distinguer les différents éléments qui constituent la date, il doit être représenté par le caractère ‘/’ dans la définition du format. Il devra être également précisé dans la définition DateSeparator.
DateSeparator : Il s’agit du caractère utilisé pour séparer les différents éléments qui constituent la date. Utiliser le code ‘EMPTY’ pour indiquer qu’aucun séparateur n’est utilisé.
ShortTimeFormat : Permet de préciser le format utilisé pour représenter une heure dans la chaîne de caractères. Si un caractère de séparation est utilisé pour distinguer les différents éléments qui constituent l’heure, il doit être représenté par le caractère ‘:’ dans la définition du format. Il devra être également précisé dans la définition TimeSeparator. Il convient d’utiliser la convention suivante pour représenter les différents éléments constitutifs d’une heure : hh pour l’heure, mm pour les minutes et ss pour les secondes.
TimeSeparator : Il s’agit du caractère de séparation utilisé pour distinguer les différents éléments qui constituent une heure : heure, minutes et secondes.
Il est important de noter que le caractère espace est utilisé pour séparer la date de l’heure dans une chaîne de caractères.
Exemples de description de formats de date et heure :
La chaîne 2013-08-29 12.10.20 de représentation d’une date et heure dans un fichier CSV doit être décrite de la manière suivante dans la section [FileDescription] :
La chaîne 20130829 121020 doit être décrite de la manière suivante :
La chaîne 29/08/2013 12:10:20 doit être décrite de la manière suivante :
Si le fichier contient des colonnes avec uniquement la date et d’autres avec la date et heure, le traitement de lecture des informations ne tiendra pas compte du format des heures pour les colonnes avec uniquement les dates.
Il est important que toutes les colonnes de type date et heure d’un même fichier respectent le même format.