begin process at 2012 05 31 14:59:09
  Trouver un code source :
 
dans
 
Accueil > Forum > 

PHP

 > 

Base de données

 > 

Access

 > 

Requête sur base access à un million de lignes


Derniers messages déposésPoser une question dans le forum ou lancer une discussion

Requête sur base access à un million de lignes

vendredi 24 juin 2011 à 10:42:08 | Requête sur base access à un million de lignes

roro59650

Bonjour à toutes et tous!

Voilà, je suis dans une petite panade...
Pour une appli, il faut que je lise une table sur une base Access, qui contient 1 150 000 lignes. Et ensuite, il faut que l'introduise sur une base MySql.
J'utilise PDO pour lire les base Access et MySql.
Mais je ne trouve pas comment faire pour qu'un variable puisse enregistrer un million de lignes... Car j'ai toujours un problème de "Fatal error: Out of memory (allocated 1702100992) (tried to allocate 44 bytes) in db.php on line 35".
Code PHP :
function select($req, $values = NULL) {
	
	if(!is_numeric($values) && $values == NULL) {
		$values = array();
	} elseif(!is_array($values)) {
		$values = array($values);
	}
	
	$this->sth = $this->dbh->prepare($req);
	$this->sth->execute(array_values($values));
	$h_data = $this->sth->fetchAll(PDO::FETCH_ASSOC);
	
	return $h_data;
}


J'ai donc une erreur sur la ligne "$h_data = $this->sth->fetchAll(PDO::FETCH_ASSOC);". J'ai beau augmenter la memory_limit à des valeurs folles (5 000 000M), ça ne change rien.
Si je fais un memory_get_peak_usage, il me met 1.58 GB quelle que soit la limite que je met...

Si vous avez une idée, s'il vous plait.

Merci!!

Romain
vendredi 24 juin 2011 à 13:14:48 | Re : Requête sur base access à un million de lignes

Julien39

Membre Club Administrateur CodeS-SourceS
Est ce que tu peux séléctionner une parties des lignes avec un
Code :
SELECT * FROM TABLE WHERE ROWNUM<1000;


Si oui, tu peux faire la migration toutes les 10000 lignes à l'aide d'un programme.
vendredi 24 juin 2011 à 13:15:42 | Re : Requête sur base access à un million de lignes

Julien39

Membre Club Administrateur CodeS-SourceS
augmenter la augmenter la memory_limit ne change rien, c'est les limites de la mémoire physique qui sont atteintes, a part ajouter de la ram, il n'y a rien à faire
vendredi 24 juin 2011 à 14:23:53 | Re : Requête sur base access à un million de lignes

syndrael

Alors ça remonte à trèèèèès longtemps..
J'avais utilisé la fonction TOP dans le SELECT (ROWNUM c'est Oracle non ??) et effacer N enregistrements et le tout en boucle..
Autre méthode, tu cherches dans une colonne toutes les valeurs distinctes et tu fais un select sur un filtre sur cette colonne et tu boucles..
S.
vendredi 24 juin 2011 à 14:48:17 | Re : Requête sur base access à un million de lignes

roro59650

Réponse acceptée !
Merci pour vos réponses rapides!

Mais vu qu'il n'y a pas d'équivalence de Rownum, ou limit, je fait faire un TOP de la moitié des champs triés selon l'identifiant par ordre croissant ou décroissant.


Cette discussion est classée dans : access, base, lignes, array, values


Répondre à ce message

Sujets en rapport avec ce message

access >> mysql ? [ par guiguimac ] bonsoir,j'aimerais savoir l'un d'entre vous connait un moyen simple d'exporte une table d'une base access vers ma base mysql chez mon hebergeur.il y a PHP et Access [ par iubito ] s@lut @ tous!Il me semble avoir vu une fois mé chépluoù k'on peut attaquer une base Access avec du PHP.Donc j'v envoyer ma base sur l'hébergeur (c 1 f exportation de Outlook vers Access ! [ par Spence ] Lorsque j'exporte les fichiers de Outlook vers Access une nouvelle table ce crée dans la base Access mais comment faire pour que la base de données Ac Site html/php avec base Access [ par guylux ] Salut collegueVoila je connais rien en php et je dois faire des modifications sur une application avec access2000 . Cela concerne des modifications de connexion ODBC base ACCESS et PHP [ par atite ] Salutations à tous ! J'ai un serveur easyphp 1.7 sous win2k qui doit se connecter sur un autre serveur bdd aussi sous win2k à une base ACCESS, le tout PROBLEME CONNEXION BASE DE DONNEES ACCESS AVEC PHP [ par johnpelu ] bonjour , je souhaite (en fait je suis obligé c'est pour mon stage ;D )mettre une base de données access sur le site web de la société ou je suis et y probleme avec odbc_connect et access [ par el_quincho ] BonjourTout d'abord une petite explication de la configuration de mon entreprise.Ma société a un site web en php avec mysql. Ce site permet au client PHP / ODBC (base access) : Pb de date ! [ par Alextasis ] AlexVoilà j'ai un ptit problème et ce serait cool si qq un pouvait me renseigner !voilà j'ai une base de donnée ACCESS tout ce qu'il y a de plus simpl Base ACCESS [ par bertrand85 ] Bonjour, J'ai une base access mais j'arrive pas a travailler avec (j'utilise bien les fonctions ODBC) ....J'arrive pas a me connecter a la base et je Migration MS Access 2000 -> MySQL [ par mdelteil ] Bonjour,Malgré une recherche fructueuse pas Google me vantant quelques outils de migration tout faits Access vers MySQL, je viens ici après avoir tent


Nos sponsors


Sondage...

Comparez les prix

CalendriCode

Mai 2012
LMMJVSD
 123456
78910111213
14151617181920
21222324252627
28293031   

Consulter la suite du CalendriCode

Photothèque

A découvrir



 
Développement réalisé par Nicolas SOREL (Nix) avec l'aide de : Cyril DURAND et Emmanuel (EBArtSoft), Merci à Vincent pour ses précieux conseils.
CodeS-SourceS.com© Toute reproduction même partielle est interdite sauf accord écrit du Webmaster
CodeS-SourceS.com© est une marque déposée tous droits réservés

Google Coop CodeS-SourceS Google Coop CodeS-SourceS
Temps d'éxécution de la page : 0,499 sec (3)

Nous contacter | Annoncer sur CodeS-SourceS | Mentions légales