|
Bas de page | |
---|---|
Auteur | Sujet : Lire un fichier CSV de 170Mo avec Access |
Publicité | Posté le 06-07-2009 à 10:37:57 |
olivthill | Pour savoir, s'il y a un plantage ou juste un traitement très long, il faudrait avoir des traces.
|
Deamon | Tu peux normalement mettre le débuggeur en pause avec CTRL+PAUSE, tu cliques sur Débugger et en regardant le contenu des variables tu peux savoir où il en est. Et tu peux le remettre en marche après. |
mmmxtina | Merci olivthill, je vais tester ça tout de suite!!
|
olivthill | Pour infos, En VBA l'écriture d'un fichier de 176MO prend 9 secondes, et sa lecture avec le split prend 25 secondes.
Je n'ai pa pu tester avec le code indiqué car "Set myFSO = CreateObject("Scripting.FileSystemObject" ), c'est du VBS et non du VBA Access, ou bien peut-être du VBA d'une nouvelle version ou avec une configuration particulière. |
olivthill | J'ai aussi testé en VBS, et cela prend 49 secondes pour mon fichier de 176MO. Donc le problème ne doit pas venir de la lecture.
|
mmmxtina | Merci pour tes réponses!!!
|
Kapote Nestor Pas né, pas mort | Pour ma part, j'importerais toutes les données d'un seul coup dans une table temporaire, et ensuite je ferais les traitements sql nécessaires. Suivant la façon dont tu lances ta requête et l'emplacement de ta base, ça peut être effectivement très long d'exécuter ligne après ligne une requête. |
4get9 C'est clair ! | exactement ce que j'allais dire : un import est quand même assez classique dans ce cas (mais pas systématique) |
mmmxtina | bonjour à tous!!!
|
Publicité | Posté le 09-07-2009 à 17:48:29 |
olivthill |
Non. Une base de données est forcément constituée d'un ou de plusieurs fichiers. Donc, ça ne peut pas être plus rapide (il pourrait juste y avoir une prélecture, mais cela ne ferait que déplacer le problème). Mais de toutes manières, mes tests ont montré que la lecture du fichier entier prend moins d'une minute sur mon vieux PC. Donc le problème du traiement qui dure plusieurs heures n'a aucun rapport avec la lecture du fichier. Le problème ce situe dans ce qui se trouve derrière les "actions" pour chaque ligne lue. |
mmmxtina | bonjour olivthill!
|
mmmxtina | J'oubliai!! merci beaucoup!! |
4get9 C'est clair ! | Ligne as Long fonctionnera bcp mieux Message édité par 4get9 le 10-07-2009 à 10:16:21 |
mmmxtina | bonjour 4get9!
|
4get9 C'est clair ! | si tu veux tu peux aussi faire une table liée (dans ta base 1 tu créé une table liée à la table de la base 2)
|
mmmxtina | re!
|
4get9 C'est clair ! | J'pense que la différence sera sensible question perfs
|
mmmxtina | en gros je récupère chaque ligne de mes fichiers csv, et je les inseres dans ma base de données. en fait elle contient les informations sur tous les intervenants de mon entreprise, donc c'est un gros truc. chaque intervenant à plusieurs informations éparpillées dans plusieurs fichiers.
|
Kapote Nestor Pas né, pas mort | Hou la... ça me semble bien complexe ton traitement... !
|
4get9 C'est clair ! |
|
4get9 C'est clair ! | sinon tu pourrais nous donner un extrait de ton fichier ?
|
Kapote Nestor Pas né, pas mort |
J'espère pour toi que tu n'a pas créé une table par intervenant, chacune de ces tables ayant les même champs ! Ca ne m'étonne pas que ça rame : à chaque ligne, tu relances le moteur de la base, ce n'est pas très efficace. Message édité par Kapote Nestor le 10-07-2009 à 17:31:59 |
mmmxtina | Bonjour à tous! et merci de toutes vos réponses!
|
Publicité | Posté le |
Sujets relatifs | |
---|---|
traitement d'un fichier | convertir un fichier texte en fichier XML |
Script de téléchargement de fichier | ACCESS Chemin d'accès d'une table attaché |
help me, script pour AD boite de dialogue et généré fichier | ACCESS - Requete sql pour textbox |
[ksh] Ecrire sans fichier temporaire | visual 2005 et fichier redist |
ouvrir un fichier avec pour nom un stringstream | Acceder à des bases Access en VBS |
Plus de sujets relatifs à : Lire un fichier CSV de 170Mo avec Access |