Paramètres personnalisés pour fichier plat

Par défaut, DataSync analyse les 100 premières lignes pour déterminer le type de données de chaque colonne. S'il y a un grand nombre de lignes, vous pouvez utiliser le paramètre RowScanDepth pour analyser un plus grand nombre de lignes, mais cela peut prendre beaucoup de temps.

Vous pouvez remplacer ces paramètres en appliquant une configuration personnalisée (Schema.ini) pour chaque fichier plat.

Utiliser Schema.ini

Dans le fichier Schema.ini, vous pouvez spécifier le format d'un fichier texte que vous souhaitez modéliser comme une table et vous pouvez également définir les colonnes de la table. Schema.ini doit être situé dans le répertoire source. Si Include Subdirectories est configuré, Schema.ini peut être défini dans chaque sous-répertoire.

Les fichiers spécifiés dans Schema.ini sont déclarés comme des tables. Le fournisseur utilise une définition dans Schema.ini s'il en existe une et sinon il utilise le nom du fichier pour déclarer la table.

Définir les tables dans Schema.ini

Une section de Schema.ini doit commencer par le nom du fichier entre crochets. Par exemple :

[Jerrie's travel expense.txt]

Après avoir ajouté une entrée de nom de fichier, vous pouvez définir la propriété Format sur le format du fichier. Les valeurs possibles sont les suivantes :

  • CSVDelimited

  • TabDelimited

  • Delimited(custom character)

Par exemple, l'exemple suivant est l'équivalent de CSVDelimited :

Format=Delimited(,)

Note

Par défaut, les fichiers .txt sont traités comme des fichiers CSV avec des en-têtes.

Vous devez ensuite définir les colonnes. Il y a deux façons de définir des colonnes basées sur les champs de vos fichiers texte :

  • Définissez les noms des colonnes dans la première ligne du fichier, la ligne d'en-tête. Lorsque vous vous connectez, le fournisseur détermine le type de données.

  • Définissez le numéro, le nom, le type de données et la largeur de la colonne dans Schema.ini. Les colonnes définies de cette manière remplacent les colonnes initialement acceptées à partir de la ligne d'en-tête. Vous pouvez également ignorer la ligne d'en-tête d'un fichier en spécifiant ColNameHeader=False dans la section du fichier dans Schema.ini.

Pour définir une colonne dans Schema.ini, utilisez le format suivant :

Coln=ColumnName DataType [Width Width]

Par exemple :

Col2=A Text Width 100

Note

Si le format est défini comme étant de longueur fixe, il est obligatoire de définir la largeur de chaque colonne.

Types de données supportés

Les types de données peuvent être les suivants :

binary byte boolean date
time datetime decimal double
tinyint smallint integer bigint
float string text longtext
char varchar nvarchar