04/04/2019Voici un exemple de script Batch qui permet d'importer un fichier CSV directement dans une base de données.
Les paramètres de la base de données ainsi que le nom du fichier sont dans des variables.
Le fichier CSV comportant un en-tête de colonne, un paramètre permet d'ignorer la première ligne.
Le séparateur de ligne est paramétré pour être CR + LF.
La table destination aura été créée au préalable et les formats des colonnes devront correspondre à ceux du fichier CSV.
REM Importe un fichier CSV dans la base
@echo off
cls
REM Variables
SET EXE_MYSQL="D:\Logiciels\EasyPHP-DevServer-14.1VC11\binaries\mysql\bin\mysql.exe"
SET USER=util
SET PASSWORD=passutil
SET BASE_DE_DONNEES=nombase
SET TABLE=nomtable
SET UTF8=CHARACTER SET utf8
SET SEPARATEUR=fields terminated by ';' lines terminated by '\r'
SET IGNORE_LIGNES=IGNORE 1 LINES
SET FICHIER_CSV=//serveur/monfichier.csv
REM Exécution
IF EXIST %FICHIER_CSV:/=\% (
echo Vide table %TABLE%
%EXE_MYSQL% --user=%USER% --password=%PASSWORD% %BASE_DE_DONNEES% --execute "TRUNCATE TABLE %TABLE%;"
echo Insertion %FICHIER_CSV% dans la table %TABLE%
%EXE_MYSQL% --user=%USER% --password=%PASSWORD% %BASE_DE_DONNEES% --execute "LOAD DATA LOCAL INFILE '%FICHIER_CSV_1%' INTO TABLE %TABLE% %UTF8% %SEPARATEUR% %IGNORE_LIGNES%"
) ELSE (
echo Fichier inaccessible !
)
Dernière modification le 04/04/2019 - Quillevere.net