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(,)
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
Si le format est défini comme étant de longueur fixe, il est obligatoire de définir la largeur de chaque colonne.

[Jerrie's travel expense.csv]
ColNameHeader=True
Format=Delimited(,)
DateTimeFormat=yyyy/MM/dd
Col1=Date Text
Col2=A Text
Col3=B Text
Col4=C Text
Col5=Total Text
Col6=Date Text
Col7=D Text
Col8=E Text
Col9=F Text
Col10=G Text
Col11=rate numeric
[invoices.csv]
ColNameHeader=True
Format=Delimited(,)
DateTimeFormat= yyyy/MM/dd
Col1=id numeric
Col2=invoicedate date
Col3=total numeric
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 |