Configurer les paramètres personnalisés du fichier plat
Par défaut, DataSync analyse les 100 premières lignes d'un fichier plat pour déterminer le type de données de chaque colonne. Pour les fichiers volumineux, vous pouvez augmenter le nombre de lignes analysées en définissant le paramètre RowScanDepth dans Propriétés de connexion supplémentaires. Cela peut améliorer la détection des types mais peut augmenter le temps de connexion.
Vous pouvez remplacer la détection automatique en définissant une configuration Schema.ini personnalisée pour chaque fichier plat.
Créer un Schema.ini pour définir les formats de table
Utilisez un fichier Schema.ini pour contrôler la façon dont DataSync interprète et modélise les fichiers plats en tant que tables de base de données. Dans ce fichier, vous définissez le format du fichier texte et fournissez des détails sur ses colonnes, y compris les noms, les types de données et les largeurs.
Placez le fichier Schema.ini dans le dossier Source afin que DataSync puisse le localiser. Si Inclure les sous-répertoires est activé, vous pouvez conserver un Schema.ini distinct dans chaque sous-dossier pour définir les formats de table pour ces fichiers.
Lorsqu'une entrée de fichier existe dans Schema.ini, DataSync utilise cette définition pour le schéma de la table. Si aucune entrée n'est trouvée, le système déduira le schéma en analysant le nom du fichier et son contenu.
Ajouter des entrées de table au Schema.ini
Chaque définition de table dans Schema.ini commence par le nom de fichier (y compris l'extension) entre crochets :
[sales_transactions.csv]
Après avoir ajouté l'entrée de nom de fichier, définissez la propriété Format pour correspondre à la disposition des données du fichier.
Valeurs de format supportées
| Valeur de format | Description |
|---|---|
| CSVDelimited | Valeurs séparées par des virgules |
| TabDelimited | Valeurs séparées par des tabulations |
| Delimited(x) | Caractère de délimitation personnalisé x |
Exemple
Cela équivaut à CSVDelimited :
Format=Delimited(,)
Par défaut, les fichiers .txt sont traités comme des fichiers CSV avec des en-têtes.
Définir les colonnes dans Schema.ini
Vous pouvez définir des colonnes de deux manières :
- À partir de la ligne d'en-tête
Définissez
ColNameHeader=Truepour utiliser les noms de colonnes dans la première ligne du fichier. Le fournisseur détermine les types de données. - Définitions de colonnes explicites
Spécifiez le numéro de colonne, le nom, le type de données et la largeur directement dans Schema.ini.
Cela remplace toute ligne d'en-tête dans le fichier.
Pour ignorer la ligne d'en-tête, définissez
ColNameHeader=False.
Syntaxe de définition de colonne :
Si le format est de longueur fixe, vous devez définir la largeur de chaque colonne.
Coln=NomDeColonne TypeDeDonnées [Largeur n]
Exemple :
Col2=Un Texte Largeur 100
Exemple de Schema.ini
[sales_transactions.csv]
ColNameHeader=True
Format=Delimited(,)
DateTimeFormat=yyyy/MM/dd
Col1=TransactionID integer
Col2=TransactionDate date
Col3=CustomerID integer
Col4=CustomerName text
Col5=ProductCode varchar
Col6=ProductName text
Col7=Quantity integer
Col8=UnitPrice decimal
Col9=Discount decimal
Col10=TotalAmount decimal
Col11=Region varchar
[inventory master.csv]
ColNameHeader=True
Format=Delimited(,)
DateTimeFormat=yyyy-MM-dd
Col1=ProductCode varchar
Col2=ProductName text
Col3=Category varchar
Types de données supportés
Les types de données suivants sont pris en charge dans les définitions de colonnes de Schema.ini :
| binaire | octet | booléen | date |
| temps | datetime | décimal | double |
| tinyint | smallint | integer | bigint |
| float | chaîne | texte | longtexte |
| char | varchar | nvarchar |