Forum |  HardWare.fr | News | Articles | PC | S'identifier | S'inscrire | Shop Recherche
666 connectés 

  FORUM HardWare.fr
  Programmation
  SQL/NoSQL

  Problème import données dans table liée SQL sous Access

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

Problème import données dans table liée SQL sous Access

n°1920215
alkashee
Si c'est pas beau ca !
Posté le 01-09-2009 à 11:41:45  profilanswer
 

Bonjour,

 


J'ai un gros volume de données à traiter (100 Go) sous forme de fichiers .csv (environ 1500). avec ce volume de données, une base Access était tout simplement impensable donc je me suis tourné vers une base SQL. Mon idée; faire une table liée sous Access avec la table SQL et faire tourner un script VBA pour importer à la chaine les fichiers .csv.

 

Sur le papier ça marche, ça marche même très bien ! En testant en local sur Access tout marche comme sur des roulettes, coté MySQL aussi. C'est quand je lui donne la table liée SQL en destination que les ennuis arrivent..Au milieu de l'exécution de la Sub d'import, il m'affiche un message me disant "ressources insuffisantes" alors que la machine est à 20% max.........

 

Je voudrais savoir s'il y a un timer ou bien un buffer quelconque coté Access ou coté MySQL qui ferait que.......ca part en sucette  [:cerveau klem]

 

:jap:


Message édité par alkashee le 02-09-2009 à 08:20:37

---------------
Shooter ou être shooté, that iz the question
mood
Publicité
Posté le 01-09-2009 à 11:41:45  profilanswer
 

n°1921168
alkashee
Si c'est pas beau ca !
Posté le 04-09-2009 à 10:22:40  profilanswer
 

Personne ne sait  :sweat:  ?
 
J'ai essayé sur ma machine perso, sous Access 2007 et ça me met la même chose :@
 
Le pire c'est que ça doit être une petite merde de rien du tout....

n°1921179
Wysi
Posté le 04-09-2009 à 10:50:46  profilanswer
 

J'en ai aucune idée (sauf qu'effectivement 100Go de données dans ACCESS c'est même pas la peine d'y penser), mais il y a une raison particuliere pour que tu passes par une table liée sous ACCESS au lieu de scripter directement un import de tes csv dans ta base MySQL?
 
EDIT : En fait je suis en train de me dire un truc.
 
Tu essayes de mettre tes 100Go de données dans une table ACCESS et de la lier avec une table MySQL mais si MySQL doit pas trop te faire chier sur la taille de la base (à partir du moment où tu es pas en FAT32 en tout cas) ACCESS il te dit niet après 2Go il me semble...
 
Il va vraiment falloir que tu zappes ACCESS de ton processus ou que tu effaces tes données coté ACCESS au fur et à mesure de tes imports mais ça fait un peu usine à gaz.


Message édité par Wysi le 04-09-2009 à 11:04:15
n°1921771
alkashee
Si c'est pas beau ca !
Posté le 07-09-2009 à 09:51:48  profilanswer
 

bonjour,

 


En fait le 'pitch' de la chose ( :pt1cable: ), c'est que les données initiales sont des captures de trames sous forme de fichier de 500 Mo chacun, pour une somme de 110 go.

 

Mon travail est de sortir tout plein de courbes à partir du résultat des requêtes issues de ces données, d'où mon orientation sur Access pour la partie génération de requêtes et d'états. Ayant très vite compris la limitation d'Access en terme de taille, j'ai eu l'idée de passer par une table SQL liée par un pilote ODBC afin de contourner cette limitation et de pouvoir traduire les demandes client en terme de requêtes sans passer par du SQL pur et dur (oui, je suis une faignasse sur ce coup-là :o)

 

Pour l'import, le but de la chose était d'écrire un script en VBA qui importait directement les données dans la table liée, donc Access me servait uniquement d'interface, étant donné que j'écrivais directement dans la table SQL

 

Voici le code en question:

 


Function Transfert()

 

Dim rep, Dossier As String

 

Dossier = "C:\Documents and Settings\plmc12811\Bureau\test\Part_I\"
rep = Dir(Dossier & "*csv" )

  

Do While rep <> ""
   
    DoCmd.TransferText acImportDelim, "import_TIGRE", ""TIGRE", Dossier & rep, True
    rep= Dir
   
Loop

 

End Function

  


Après environ 5-6 secondes après le lancement, j'ai un message m'indiquant "ressources insuffisantes".

 

Mais si je change "TIGRE" (la table liée) par une autre table (identique) en local, ça marche !

 


J'ai essayé de porter tout ça sur une autre machine, même résultat, ce qui tend à prouver que ma machine ne serait pas en cause  :jap: .


Message édité par alkashee le 07-09-2009 à 09:57:48
n°1921802
Wysi
Posté le 07-09-2009 à 11:25:48  profilanswer
 

Je t'offre un compagnon de galere :
 
http://bytes.com/topic/access/answ [...] ows-2000-a
 
Il a contourné le probleme en important en local puis en transferant sur la table liée apparemment.

n°1921875
alkashee
Si c'est pas beau ca !
Posté le 07-09-2009 à 13:46:42  profilanswer
 

Héhé les grands esprits se rencontrent, j'ai fait pareil :D
Seul souci, on dirait que MySQL tourne en rond au bout d'un certain temps d'importation et le nombre de ligne dans la table augmente, recule, augmente, recule... De plus je trouve l'importation bien plus longue dans le sens Access > SQL que quand on importe direct dans la table SQL (alors que pourtant vu que c'est une table liée, il devrait pas  y avoir trop de différence entre les deux...)


---------------
Shooter ou être shooté, that iz the question
n°1921879
Wysi
Posté le 07-09-2009 à 13:57:44  profilanswer
 

Et au final tu arrives à quelque chose de cohérent ou c'est mort?
Parce qu'il reste la solution d'inserer les lignes de tes fichiers une par une dans ta table via un DAO mais là je prédis une explosion des temps de traitement...
 
Ou bien zapper Access du moins dans la partie import des données et re-linker la table après.

n°1921939
alkashee
Si c'est pas beau ca !
Posté le 07-09-2009 à 16:43:49  profilanswer
 

Et bien en fait j'ai fait........20 bases d'environ 2 Go chacune :D

 

Bon le truc c'est que je me retrouve avec une base de base et que c'est carrément la misère pour requêter :fou:


Message édité par alkashee le 07-09-2009 à 16:44:05

---------------
Shooter ou être shooté, that iz the question
n°1922261
alkashee
Si c'est pas beau ca !
Posté le 08-09-2009 à 16:41:34  profilanswer
 

Si une âme charitable avait l'équivalent en script PHP pour l'import afin de tester ça, elle serait bien urbaine :jap:


---------------
Shooter ou être shooté, that iz the question

Aller à :
Ajouter une réponse
  FORUM HardWare.fr
  Programmation
  SQL/NoSQL

  Problème import données dans table liée SQL sous Access

 

Sujets relatifs
problème de courbe avec ZedgraphTrouver un l'indicatif le plus proche en SQL
[HELP] Gros problème sous internet explorer 6.0[PHP] injection sql (MS SQL)
Erreur de syntaxe SQL. Help !problème de comparaison de deux fichiers
pb access vbaRecherche d'une solution pour gérer des données simples
problème d'affichageProbléme avec mon formulaire Email
Plus de sujets relatifs à : Problème import données dans table liée SQL sous Access


Copyright © 1997-2022 Hardware.fr SARL (Signaler un contenu illicite / Données personnelles) / Groupe LDLC / Shop HFR