|
Voir le sujet précédent :: Voir le sujet suivant
|
| Auteur |
Message |
| |
|
jhautier Nouveau WRInaute
Inscrit le: 22 Oct 2006 Messages: 28 Localisation: Paris
|
Posté le : Ven Nov 24, 2006 12:47 Sujet du message: Erreur import base sql |
|
|
Bonjour,
Je tente d'importer une base sauvegarde .sql via phpmyadmin (fichier "parcourir" et sélection sur mon PC)... sans succès !
A chaque fois, perte connexion sql ou alors il m'ouvre un fichier .php (dumb ?) en me demandant s'il faut l'ouvrir ou l'enregistrer...
J'ai l'impression que sous FREE l'import d'une base même de quelques Mo pose problème.
Savez vous s'il existe un logiciel gratuit pour importer une base sql ?
Le cas échéant autre manipe ? Par exemple mettre ma base .sql à la racine de mon site, ce serait mieux pour le téléchargement ? Si oui, quelle ligne de commande ?
Merci d'avance pour vos conseils, car je bloques depuis quelques heures...
Jérôme |
|
| |
|
 |
Leonick WRInaute accro

Inscrit le: 08 Aoû 2004 Messages: 9181 Localisation: Val de Marne
|
Posté le : Ven Nov 24, 2006 13:01 Sujet du message: Erreur import base sql |
|
|
un upload en html est limité à 2 Mo, donc un plus gros fichier doit être zippé. Le mieux en tar.gz mais après même si le zip n'est pas trop gors, il risque de dépasser le timeout de phpmyadmin  |
|
| |
|
 |
jhautier Nouveau WRInaute
Inscrit le: 22 Oct 2006 Messages: 28 Localisation: Paris
|
Posté le : Ven Nov 24, 2006 13:15 Sujet du message: Erreur import base sql |
|
|
Bon je vais tenter le ZIP.
Mais c'est curieux car sur phpmyadmin, il est marqué 10 Mo max...
Sinon, il n'y a pas d'autres solutions comme celles précisées dans mon post ci-dessus pour réussir l'upload ?
Merci pour la réponse.
Jérôme |
|
| |
|
 |
RomsIW WRInaute accro

Inscrit le: 25 Mai 2004 Messages: 1045 Localisation: Paris
|
Posté le : Ven Nov 24, 2006 14:19 Sujet du message: Re: Erreur import base sql |
|
|
| jhautier a écrit: |
Bonjour,
Je tente d'importer une base sauvegarde .sql via phpmyadmin (fichier "parcourir" et sélection sur mon PC)... sans succès !
A chaque fois, perte connexion sql ou alors il m'ouvre un fichier .php (dumb ?) en me demandant s'il faut l'ouvrir ou l'enregistrer...
J'ai l'impression que sous FREE l'import d'une base même de quelques Mo pose problème.
Savez vous s'il existe un logiciel gratuit pour importer une base sql ?
Le cas échéant autre manipe ? Par exemple mettre ma base .sql à la racine de mon site, ce serait mieux pour le téléchargement ? Si oui, quelle ligne de commande ?
Merci d'avance pour vos conseils, car je bloques depuis quelques heures...
Jérôme |
regarde s'il n'y a pas une ligne qui indique le charset et tout à la fin des create database et tout. Parfois l'incompatibilité de charset crée ce genre de pb.
| Citation: |
| ENGINE=MyISAM DEFAULT CHARSET=latin1 [...] |
essaie de virer ce genre de ligne et retenter l'import.. |
|
| |
|
 |
Kaliiii WRInaute passionné

Inscrit le: 02 Mar 2005 Messages: 594 Localisation: France
|
Posté le : Ven Nov 24, 2006 14:37 Sujet du message: Erreur import base sql |
|
|
le mieux serait surement de créer un script en PHP qui injecte ta base de donnée en sql. Effectivement une base de plusieurs megas ne peut pas etre importée aussi facilement via phpmyadmin. Le seul moyen serait d'avoir acces au Shell en ligne de commande et d'injecter la base de cette facon la.
Cherche un peu dans les open source, tu trouveras surement un script en php pour injecter des requettes dans la base. |
|
| |
|
 |
RomsIW WRInaute accro

Inscrit le: 25 Mai 2004 Messages: 1045 Localisation: Paris
|
Posté le : Ven Nov 24, 2006 14:56 Sujet du message: Erreur import base sql |
|
|
| Kaliiii a écrit: |
le mieux serait surement de créer un script en PHP qui injecte ta base de donnée en sql. Effectivement une base de plusieurs megas ne peut pas etre importée aussi facilement via phpmyadmin. Le seul moyen serait d'avoir acces au Shell en ligne de commande et d'injecter la base de cette facon la.
Cherche un peu dans les open source, tu trouveras surement un script en php pour injecter des requettes dans la base. |
Perso je l'ai déjà fait, mais j'ai été obligé de rallonger le max execution time pour ce script là.
Le mieux est de passer par un fichier .sql de toutes façons puisque le travail se fait en interne sur le serveur une fois le fichier importé. |
|
| |
|
 |
Leonick WRInaute accro

Inscrit le: 08 Aoû 2004 Messages: 9181 Localisation: Val de Marne
|
Posté le : Ven Nov 24, 2006 15:03 Sujet du message: Erreur import base sql |
|
|
Voila ce que j'utilise et qui me permet d'insérer plusieurs dizaines de Mo très rapidement
| Code: |
<?php session_start();
set_time_limit(60000); //fixe un délai maximum d'exécution de 600 secondes soit 10 minutes.
?>
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html;charset=iso-8859-1">
</head><body>
<h1>Insertion de données dans la BdD</h1>
<?php
error_reporting(E_ALL);
/* ***********************************
ici mettre la connection à la bdd
************************************ */
$nb_erreurs=0;
$fichierResult="*******chemin accès fichier sql************";
$contenuResult=file($fichierResult);
$nlignesResult=count($contenuResult);
echo "<p>$nlignesResult enregistrements à importer</p>\n";
for($compt=0;$compt<$nlignesResult;$compt++)
{if (trim($contenuResult[$compt])!="")
if (!mysql_query($contenuResult[$compt]))
{ echo "<p>$compt) la requête ".$contenuResult[$compt]." n'a pas abouti<br />erreur : ".mysql_error()."</p>";
$nb_erreurs++;
}
}
if ($nb_erreurs>0) echo "<p>$nb_erreurs erreurs rencontrées durant l'import</p>\n";
?>
</body>
</html> |
Attention, il faut qu'une instruction ne tienne que sur une ligne. |
|
| |
|
 |
jhautier Nouveau WRInaute
Inscrit le: 22 Oct 2006 Messages: 28 Localisation: Paris
|
Posté le : Ven Nov 24, 2006 15:20 Sujet du message: Re: Erreur import base sql |
|
|
| RomsIW a écrit: |
| jhautier a écrit: |
Bonjour,
Je tente d'importer une base sauvegarde .sql via phpmyadmin (fichier "parcourir" et sélection sur mon PC)... sans succès !
A chaque fois, perte connexion sql ou alors il m'ouvre un fichier .php (dumb ?) en me demandant s'il faut l'ouvrir ou l'enregistrer...
J'ai l'impression que sous FREE l'import d'une base même de quelques Mo pose problème.
Savez vous s'il existe un logiciel gratuit pour importer une base sql ?
Le cas échéant autre manipe ? Par exemple mettre ma base .sql à la racine de mon site, ce serait mieux pour le téléchargement ? Si oui, quelle ligne de commande ?
Merci d'avance pour vos conseils, car je bloques depuis quelques heures...
Jérôme |
regarde s'il n'y a pas une ligne qui indique le charset et tout à la fin des create database et tout. Parfois l'incompatibilité de charset crée ce genre de pb.
| Citation: |
| ENGINE=MyISAM DEFAULT CHARSET=latin1 [...] |
essaie de virer ce genre de ligne et retenter l'import.. |
Bon, à chaque fin de table (bloc dans mon fichier .sql), les dernières lignes sont généralement du type:
) ENGINE=MyISAM DEFAULT CHARSET=latin1;
Vu que mon fichier fait plus de 60 Mo, ça me surprend de devoir virer chaque ligne qui est sur chaque table ?? Non ???
Sinon, j'en profite: ton site 4000M.com est sympa. Je suis aussi parachutiste (1300 sauts)...
Bon je vais répondre aux autres réponses. A +
Jérôme |
|
| |
|
 |
jhautier Nouveau WRInaute
Inscrit le: 22 Oct 2006 Messages: 28 Localisation: Paris
|
Posté le : Ven Nov 24, 2006 15:21 Sujet du message: Erreur import base sql |
|
|
| RomsIW a écrit: |
| Kaliiii a écrit: |
le mieux serait surement de créer un script en PHP qui injecte ta base de donnée en sql. Effectivement une base de plusieurs megas ne peut pas etre importée aussi facilement via phpmyadmin. Le seul moyen serait d'avoir acces au Shell en ligne de commande et d'injecter la base de cette facon la.
Cherche un peu dans les open source, tu trouveras surement un script en php pour injecter des requettes dans la base. |
Perso je l'ai déjà fait, mais j'ai été obligé de rallonger le max execution time pour ce script là.
Le mieux est de passer par un fichier .sql de toutes façons puisque le travail se fait en interne sur le serveur une fois le fichier importé. |
Côté script, je veux bien regarder mais je ne maîtrise pas du tout...
Jerome |
|
| |
|
 |
jhautier Nouveau WRInaute
Inscrit le: 22 Oct 2006 Messages: 28 Localisation: Paris
|
Posté le : Ven Nov 24, 2006 15:34 Sujet du message: Erreur import base sql |
|
|
| Leonick a écrit: |
Voila ce que j'utilise et qui me permet d'insérer plusieurs dizaines de Mo très rapidement
| Code: |
<?php session_start();
set_time_limit(60000); //fixe un délai maximum d'exécution de 600 secondes soit 10 minutes.
?>
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html;charset=iso-8859-1">
</head><body>
<h1>Insertion de données dans la BdD</h1>
<?php
error_reporting(E_ALL);
/* ***********************************
ici mettre la connection à la bdd
************************************ */
$nb_erreurs=0;
$fichierResult="*******chemin accès fichier sql************";
$contenuResult=file($fichierResult);
$nlignesResult=count($contenuResult);
echo "<p>$nlignesResult enregistrements à importer</p>\n";
for($compt=0;$compt<$nlignesResult;$compt++)
{if (trim($contenuResult[$compt])!="")
if (!mysql_query($contenuResult[$compt]))
{ echo "<p>$compt) la requête ".$contenuResult[$compt]." n'a pas abouti<br />erreur : ".mysql_error()."</p>";
$nb_erreurs++;
}
}
if ($nb_erreurs>0) echo "<p>$nb_erreurs erreurs rencontrées durant l'import</p>\n";
?>
</body>
</html> |
Attention, il faut qu'une instruction ne tienne que sur une ligne. |
Merci Léonick pour la requête.
Je viens de la tester en la copiant/collant dans phpmyadmin et en remplacant simplement "ici mettre la connection à la bdd" par le chemin de ma base sur mon PC: c:...
Mais ça plante...
Y a t-il d'autres variables à changer ?
Et qu'entends tu pas "instruction sur une seule ligne" ?
Jérôme |
|
| |
|
 |
RomsIW WRInaute accro

Inscrit le: 25 Mai 2004 Messages: 1045 Localisation: Paris
|
Posté le : Ven Nov 24, 2006 15:38 Sujet du message: Erreur import base sql |
|
|
| jhautier a écrit: |
| RomsIW a écrit: |
| Kaliiii a écrit: |
le mieux serait surement de créer un script en PHP qui injecte ta base de donnée en sql. Effectivement une base de plusieurs megas ne peut pas etre importée aussi facilement via phpmyadmin. Le seul moyen serait d'avoir acces au Shell en ligne de commande et d'injecter la base de cette facon la.
Cherche un peu dans les open source, tu trouveras surement un script en php pour injecter des requettes dans la base. |
Perso je l'ai déjà fait, mais j'ai été obligé de rallonger le max execution time pour ce script là.
Le mieux est de passer par un fichier .sql de toutes façons puisque le travail se fait en interne sur le serveur une fois le fichier importé. |
Côté script, je veux bien regarder mais je ne maîtrise pas du tout...
Jerome |
A la rigueur, essaie de remplacer "ENGINE=MyISAM DEFAULT CHARSET=latin1; " par "" dans tout le fichier
Cool un para bé tu connais ptet Jacques le gérant de la boite (tu peux le voir sur la rubrique photos / vidéos du site  |
|
| |
|
 |
jhautier Nouveau WRInaute
Inscrit le: 22 Oct 2006 Messages: 28 Localisation: Paris
|
Posté le : Ven Nov 24, 2006 15:43 Sujet du message: Erreur import base sql |
|
|
[/quote]
A la rigueur, essaie de remplacer "ENGINE=MyISAM DEFAULT CHARSET=latin1; " par "" dans tout le fichier
Cool un para bé tu connais ptet Jacques le gérant de la boite (tu peux le voir sur la rubrique photos / vidéos du site [/quote]
Ok, mais j'ai parfois des lignes du type:
) ENGINE=MyISAM AUTO_INCREMENT=2635 DEFAULT CHARSET=latin1 AUTO_INCREMENT=2635 ;
ou encore:
) ENGINE=MyISAM AUTO_INCREMENT=5 DEFAULT CHARSET=latin1 AUTO_INCREMENT=5 ;
Est-ce grave docteur ???
PS: jacques comment ? Il saute où ? |
|
| |
|
 |
Leonick WRInaute accro

Inscrit le: 08 Aoû 2004 Messages: 9181 Localisation: Val de Marne
|
Posté le : Ven Nov 24, 2006 15:57 Sujet du message: Erreur import base sql |
|
|
| jhautier a écrit: |
Y a t-il d'autres variables à changer ?
Et qu'entends tu pas "instruction sur une seule ligne" ? |
C'est à dire en enlevant toutes les instruction de création de table, qui tiennent sur plusieurs lignes. Toutes les créations de tables peuvent être effectuées séparément dans phpmyadmin (et donc en corrigeant le problème de ENGINE=MyISAM DEFAULT CHARSET=latin1; qui vient de mysql5 et qui ne passe pas en mysql 4.x), ce script servant à insérer des données
Sur une ligne veut dire que
| Code: |
| insert nom='toto', age='10'; |
et pas
Sur une ligne veut dire que
| Code: |
insert nom='toto',
age='10'; |
|
|
| |
|
 |
RomsIW WRInaute accro

Inscrit le: 25 Mai 2004 Messages: 1045 Localisation: Paris
|
Posté le : Ven Nov 24, 2006 15:59 Sujet du message: Erreur import base sql |
|
|
A la rigueur, essaie de remplacer "ENGINE=MyISAM DEFAULT CHARSET=latin1; " par "" dans tout le fichier
Cool un para bé tu connais ptet Jacques le gérant de la boite (tu peux le voir sur la rubrique photos / vidéos du site [/quote]
Ok, mais j'ai parfois des lignes du type:
) ENGINE=MyISAM AUTO_INCREMENT=2635 DEFAULT CHARSET=latin1 AUTO_INCREMENT=2635 ;
ou encore:
) ENGINE=MyISAM AUTO_INCREMENT=5 DEFAULT CHARSET=latin1 AUTO_INCREMENT=5 ;
Est-ce grave docteur ???
PS: jacques comment ? Il saute où ?[/quote]
Jacques Marsily, il sautait un peu partout en freefly (compet)
Ben ya l'auto increment dedans donc faut faire de "rechercher / remplacer"
1. ENGINE=MyISAM par vide
2. DEFAULT CHARSET=latin1 par vide |
|
| |
|
 |
jhautier Nouveau WRInaute
Inscrit le: 22 Oct 2006 Messages: 28 Localisation: Paris
|
Posté le : Ven Nov 24, 2006 16:55 Sujet du message: Erreur import base sql |
|
|
Bonjour,
Alors la je ne comprends plus...
J'ai ben effectué la manipe:
1. ENGINE=MyISAM par vide
2. DEFAULT CHARSET=latin1 par vide
Et quand j'importe une partie seulement de la base (pour test) en fichier ZIP pour réduire la taille, j'ai le message erreur suivant:
Il semble que vous ayiez trouvé une anomalie dans l'analyseur syntaxique SQL. Veuillez examiner votre requête attentivement, et vérifier que vos apostrophes sont conformes. Il se pourrait aussi que vous ayiez chargé un fichier dont le contenu binaire n'est pas entre apostrophes. Si vous avez accès à MySQL via son interface de commande en mode ligne, vous pouvez y essayer votre requête. Le message d'erreur présenté plus bas pourrait vous indiquer la source du problème. En dernier recours, veuillez trouver la plus courte requête possible qui cause le problème, et soumettre un rapport d'anomalie en incluant la section à couper:
----Début de la section à couper----
eNoBUwKs/UVSUk9SOiBDMSBDMiBMRU46IDIgMyAyMTEKU1RSOiADCgpDVlM6ICRJZDogc3FscGFy
c2VyLmxpYi5waHAsdiAyLjM0LjIuMSAyMDA1LzA2LzMwIDE2OjU4OjExIGxlbTkgRXhwICQKTXlT
UUw6IDUuMC4yNS1uaWdodGx5LTIwMDYwODIzClVTUiBPUywgQUdFTlQsIFZFUjogV2luIE1PWklM
TEEgNS4wClBNQTogMi42LjMtcGwxClBIUCBWRVIsT1M6IDQuNC40IExpbnV4CkxBTkc6IGZyLXV0
Zi04ClNRTDogUEsDBBQAAgAIAKCFeDX5YVyp0egWAL5sXgASAAAAcGFyYWRpc2VfMVRFU1Quc3Fs
zJ3fkts2lsbv8xS6s13V8fA/qUztRSZhbXA769pNreNkEmem5qoKkZCENEnQBKlu5Wn2Ns+RF1v8
IUWpLR6qt2prv1Rsd6tb4u+AIL4D8PDD11+vmn3zw/HbohL16pe/v1/9e181X3399erAWyVkvQre
JmFtcDtvo6+bMjIv7ruu+eYvf3l8fHyr31YdmXnb25p35ofmzy+8PfC+/Wblr8O3QfzWX6dv48T8
5D/+/KP+84/2zz9WJV99s/oHr4uWF2IVRKsP8sCrTctXgeclqz//e+VH30SBedM/BoiiX6nxk6O3
/tvAv/gpX/30nz+Zn0RvvZHkb0xx85NC1vq4XH2z+tSwlhVC8Xv/k/0t89fX/8v/vjpF3LV93vWt
PVjJVh3b6AA/sSZsdDvnSgrH+e7nd99+fLf6+O3f3r/MXAQN
----Fin de la section à couper----
----Début des informations sur l'anomalie----
ERROR: C1 C2 LEN: 2 3 211
STR:
CVS: $Id: sqlparser.lib.php,v 2.34.2.1 2005/06/30 16:58:11 lem9 Exp $
MySQL: 5.0.25-nightly-20060823
USR OS, AGENT, VER: Win MOZILLA 5.0
PMA: 2.6.3-pl1
PHP VER,OS: 4.4.4 Linux
LANG: fr-utf-8
SQL: PK
De toute façon en tentant d'importer la totalité de la base, j'ai une erreur perte de connexion.
Précision peut être importante: La base provient d'un hébergement payant (celeonet) et je souhaite la migrer vers un site sous free.fr pour test.
J'ai coché à chaque fois les options conseillées suivantes dans phpmyadmin: "Inclure des énoncés "DROP TABLE"" et "insertion complètes"
Si vous avez une piste sur mon problème...
A +
Jérôme |
|
| |
|
 |
| |
|
|