Import automatique de fichiers text dans une table unique access 2007
1 réponse
ludo
Bonjour,
Je cherche une solution pour automatiser l'import quotidien de
fichiers de logs de site web (au format text et de structure
identiques) contenus dans un r=E9pertoire local dans une table access
unique.
En effet, je dois importer un historique de plus de 1 500 fichiers
sachant que chaque jour je r=E9cup=E8re dans un repertoire d=E9di=E9 les
fichiers du jours par le biais d'une synchronisation FTP.
Le nom des fichiers text comportent une section fixe (log) et une
section variable (ID) : exemple : log_15164678798.txt ;
log_5465498789.txt ...
Cette action est irreversible, confirmez la suppression du commentaire ?
Signaler le commentaire
Veuillez sélectionner un problème
Nudité
Violence
Harcèlement
Fraude
Vente illégale
Discours haineux
Terrorisme
Autre
Argyronet
Bonjour,
Vosu pouvez automatiser l'usage de la commande DoCmd.TransferText avec un script d'importation pré-enregistré. Pour créer un script d'importation, il suffit de faire un 1er import manuel et sauver la description sous un nom défini que l'on réutilise en guise de paramètre de la méthode 'TransferText'... Après, il faut envisager de mettre en place une boucle Do/Loop de lecture sur répertoire pour vérifier et d'une, que des fichiers sont présents et de deux que chaque fichier f n'a pas déjà été importé (donc prévoir une table de flag qui stocke le nom de chaque fichier importé) et de trois, d'exécuter une requête INSERT qui stocke le contenu du fichier dans la table cible. Le tout serait encapsulé dans un fichier Access mdb qui peut être ouvert par le plannificateur de tâches de Windows et donc, pourvu d'un macro AutoExec qui se charge d'exécuter tout ça...
Beau petit projet en perspective. -- Argy http://argyronet.developpez.com/ Créez des programmes avec Microsoft Access 2007 (ISBN 2742982442) VBA pour Office 2007 (ISBN 2742983910)
"ludo" a écrit :
Bonjour,
Je cherche une solution pour automatiser l'import quotidien de fichiers de logs de site web (au format text et de structure identiques) contenus dans un répertoire local dans une table access unique.
En effet, je dois importer un historique de plus de 1 500 fichiers sachant que chaque jour je récupère dans un repertoire dédié les fichiers du jours par le biais d'une synchronisation FTP.
Le nom des fichiers text comportent une section fixe (log) et une section variable (ID) : exemple : log_15164678798.txt ; log_5465498789.txt ...
Q'en pensez-vous ?
Merci par avance pour votre aide.
Bonjour,
Vosu pouvez automatiser l'usage de la commande DoCmd.TransferText avec un
script d'importation pré-enregistré. Pour créer un script d'importation, il
suffit de faire un 1er import manuel et sauver la description sous un nom
défini que l'on réutilise en guise de paramètre de la méthode
'TransferText'...
Après, il faut envisager de mettre en place une boucle Do/Loop de lecture
sur répertoire pour vérifier et d'une, que des fichiers sont présents et de
deux que chaque fichier f n'a pas déjà été importé (donc prévoir une table de
flag qui stocke le nom de chaque fichier importé) et de trois, d'exécuter une
requête INSERT qui stocke le contenu du fichier dans la table cible.
Le tout serait encapsulé dans un fichier Access mdb qui peut être ouvert par
le plannificateur de tâches de Windows et donc, pourvu d'un macro AutoExec
qui se charge d'exécuter tout ça...
Beau petit projet en perspective.
--
Argy
http://argyronet.developpez.com/
Créez des programmes avec Microsoft Access 2007 (ISBN 2742982442)
VBA pour Office 2007 (ISBN 2742983910)
"ludo" a écrit :
Bonjour,
Je cherche une solution pour automatiser l'import quotidien de
fichiers de logs de site web (au format text et de structure
identiques) contenus dans un répertoire local dans une table access
unique.
En effet, je dois importer un historique de plus de 1 500 fichiers
sachant que chaque jour je récupère dans un repertoire dédié les
fichiers du jours par le biais d'une synchronisation FTP.
Le nom des fichiers text comportent une section fixe (log) et une
section variable (ID) : exemple : log_15164678798.txt ;
log_5465498789.txt ...
Vosu pouvez automatiser l'usage de la commande DoCmd.TransferText avec un script d'importation pré-enregistré. Pour créer un script d'importation, il suffit de faire un 1er import manuel et sauver la description sous un nom défini que l'on réutilise en guise de paramètre de la méthode 'TransferText'... Après, il faut envisager de mettre en place une boucle Do/Loop de lecture sur répertoire pour vérifier et d'une, que des fichiers sont présents et de deux que chaque fichier f n'a pas déjà été importé (donc prévoir une table de flag qui stocke le nom de chaque fichier importé) et de trois, d'exécuter une requête INSERT qui stocke le contenu du fichier dans la table cible. Le tout serait encapsulé dans un fichier Access mdb qui peut être ouvert par le plannificateur de tâches de Windows et donc, pourvu d'un macro AutoExec qui se charge d'exécuter tout ça...
Beau petit projet en perspective. -- Argy http://argyronet.developpez.com/ Créez des programmes avec Microsoft Access 2007 (ISBN 2742982442) VBA pour Office 2007 (ISBN 2742983910)
"ludo" a écrit :
Bonjour,
Je cherche une solution pour automatiser l'import quotidien de fichiers de logs de site web (au format text et de structure identiques) contenus dans un répertoire local dans une table access unique.
En effet, je dois importer un historique de plus de 1 500 fichiers sachant que chaque jour je récupère dans un repertoire dédié les fichiers du jours par le biais d'une synchronisation FTP.
Le nom des fichiers text comportent une section fixe (log) et une section variable (ID) : exemple : log_15164678798.txt ; log_5465498789.txt ...