Précédent   Forum des professionnels en informatique > Bases de données > MySQL > SQL Procédural
SQL Procédural Forum d'entraide sur les triggers, les procédures stockées et les fonctions en MySQL
Partagez cette discussion sur d'autres réseaux sociaux : Viadeo Twitter Google Facebook Digg Delicious MySpace Yahoo
Réponse Proposer ce sujet en actualité
 
Outils de la discussion
Publicité
'
Vieux 15/07/2008, 23h59   #1
Candidat au titre de Membre du Club
 
Inscription : avril 2007
Messages : 78
Détails du profil
Informations forums :
Inscription : avril 2007
Messages : 78
Points : 11
Points : 11
Par défaut script sql trop long

Bonsoir,
j'ai un script sql qui contient des instructions ( insert ... values ...).
lorsque j'essaie de l'exécuter dans PHPMyAdmin il se bloque car sa taille fait presque 4Go et PHPMyAdmin ne supporte que des script de taille max de 2 048Kio.
est ce qu'il y a un moyen pour faire réussir cette opération dans easyPHP, ou autre (sachant que le but de ce script c'est d'importer des données dans une base Mysql) ?
et est ce qu'il y a outil ou un éditeur qui me permettra de visualiser le contenu de ce script, parce que j'arrive pas à l'ouvrir vu sa taille importante ? *
Merci !
foulla est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 16/07/2008, 07h15   #2
Membre Expert
 
Inscription : août 2002
Messages : 1 036
Détails du profil
Informations forums :
Inscription : août 2002
Messages : 1 036
Points : 1 166
Points : 1 166
Bonjour,

Personnellement, lorsque les données sont importantes, j'utilise un fichier .CSV par table, et je l'importe en utilisant 'LOAD DATA INFILE...'.
Voir ici :
http://dev.mysql.com/doc/refman/5.0/fr/load-data.html
jeca est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 16/07/2008, 12h57   #3
Candidat au titre de Membre du Club
 
Inscription : avril 2007
Messages : 78
Détails du profil
Informations forums :
Inscription : avril 2007
Messages : 78
Points : 11
Points : 11
salut,
je pense qu'il y a un mal entendu, car mon script contient des instructions sql
{ insert ( , , ) values( ' ',' ' , ' ') } et non pas des données à insérer directement dans la base par le biais de la commande LOAD DATA INFILE.

c'est pour ça que j'ai bien précisé mon besoin qui consiste à trouver un outil ou bien un logiciel apte d'ouvrir ce script pour que je puisse le manipuler vu les problème que j'ai confronté pour l'exécuter.
et j'ajoute aussi que phpMyAdmin ne permet pas de l'exécuter vu sa grande taille.
foulla est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 17/07/2008, 11h17   #4
Membre Expert
 
Inscription : août 2002
Messages : 1 036
Détails du profil
Informations forums :
Inscription : août 2002
Messages : 1 036
Points : 1 166
Points : 1 166
Bonjour,

Il n'y a aucun malentendu. Je te suggérais simplement d'essayer de te procurer les mêmes info en .CSV.
Sinon,à part charger le fichier sur le serveur avec un client FTP, et te fabriquer une moulinette d'intégration, je ne vois pas.
jeca est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 17/07/2008, 11h21   #5
Membre confirmé
 
Inscription : janvier 2006
Messages : 178
Détails du profil
Informations personnelles :
Âge : 33

Informations forums :
Inscription : janvier 2006
Messages : 178
Points : 208
Points : 208
Citation:
Envoyé par foulla Voir le message
sa taille fait presque 4Go
4 Giga-octets, tu es sûr ??? Tu as combien de mémoire pour manipuler un tel fichier ?

Tu auras toujours des soucis avec une telle taille : que tu conserves les INSERT ou le transformes en CSV, découpes-le en plusieurs fichiers, pourquoi pas un par table comme proposé par jeca ?
rbaraer est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 17/07/2008, 11h53   #6
Candidat au titre de Membre du Club
 
Inscription : avril 2007
Messages : 78
Détails du profil
Informations forums :
Inscription : avril 2007
Messages : 78
Points : 11
Points : 11
Citation:
que tu conserves les INSERT ou le transformes en CSV, découpes-le en plusieurs fichiers, pourquoi pas un par table comme proposé par jeca ?
j'ai 117 tables
tu veux que je passe les vacances d'été à transformer table par table en fichier CSV ?
foulla est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 17/07/2008, 12h40   #7
Membre Expert
 
Inscription : août 2002
Messages : 1 036
Détails du profil
Informations forums :
Inscription : août 2002
Messages : 1 036
Points : 1 166
Points : 1 166
Est-ce que la BDD d'origine t'appartient ?
jeca est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 17/07/2008, 12h58   #8
Membre confirmé
 
Inscription : janvier 2006
Messages : 178
Détails du profil
Informations personnelles :
Âge : 33

Informations forums :
Inscription : janvier 2006
Messages : 178
Points : 208
Points : 208
Citation:
Envoyé par foulla Voir le message
j'ai 117 tables
tu veux que je passe les vacances d'été à transformer table par table en fichier CSV ?
Ca ferait de drôles de vacances

Non bien sûr, mais comment comptes-tu manipuler un si gros fichier ? Peu d'éditeurs vont te le permettre rien que de l'ouvrir !

Si tu es sous Linux, avec un grep sur le nom de table et une redirection en fichier tu peux facilement découper le script en plusieurs fichiers... Je suis sûr que sous Windows avec Power Shell c'est possible aussi mais là je ne pourrais pas t'aider...
rbaraer est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 17/07/2008, 15h49   #9
Invité régulier
 
Inscription : octobre 2007
Messages : 22
Détails du profil
Informations personnelles :
Âge : 46

Informations forums :
Inscription : octobre 2007
Messages : 22
Points : 7
Points : 7
Si tu as un accès direct sur ton serveur (telnet ou ssh) tu devrais pouvoir passer ça par la ligne de commande :

mysql -u user -ppassword nom_de_la_base < script.sql

il faudra bien sûr auparavant télécharger ton script sur le serveur !

Bonne journée
jlderrien est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 17/07/2008, 18h33   #10
Candidat au titre de Membre du Club
 
Inscription : avril 2007
Messages : 78
Détails du profil
Informations forums :
Inscription : avril 2007
Messages : 78
Points : 11
Points : 11
@jeca : j'ai la base et tout ce que tu veux ? pour quoi !!
@jlderrien : j'ai le script sur serveur et j'ai déjà fait ce traitement.

En fait c'est pas ça mon problème, ça coince au niveau du script car lors de son exécution, il confond entre les délimiteur de champs et les apostrophes du contenu des champs de données.
voici mon poste concernant ce problème d'apostrophes : http://www.developpez.net/forums/sho...d.php?t=563954

maintenant quand j'exécute cette ligne :
Code :
mysql -u user -ppassword nom_de_la_base < script.sql
il me génère l'erreur suivante :
ERROR at line 2210 : Unkown command '\''.
et pour visualiser la ligne d'erreur, il faut ouvrir le script
et c'est ça où ça coince
foulla est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 18/07/2008, 07h26   #11
Membre Expert
 
Inscription : août 2002
Messages : 1 036
Détails du profil
Informations forums :
Inscription : août 2002
Messages : 1 036
Points : 1 166
Points : 1 166
Bonjour,

Si je m'en tiens à tes messages, tu es là-dessus depuis le 5 juin, soit 6 semaines. Au train où ça va, on en parlera encore au retour des vacances.
Puisque tu as accès à la BDD, tu aurais eu largement le temps de fabriquer une moulinette d'exportation (un fichier .CSV par table et un fichier .SQL pour la structure des tables) et une pour l'importation. Le problème serait réglé depuis belle lurette.
Quand une porte ne s'ouvre pas, ou très difficilement, il vaut mieux en essayer une autre.
jeca est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 18/07/2008, 13h18   #12
Candidat au titre de Membre du Club
 
Inscription : avril 2007
Messages : 78
Détails du profil
Informations forums :
Inscription : avril 2007
Messages : 78
Points : 11
Points : 11
salut,
merci pour les réponses rapides, mais juste un petit soucie !! est ce que cet export de table par table ne va pas me poser des problèmes genre "contraintes d'intégrités" ou autres ?
sinon je pense que je pourrais opté pour cette solution
foulla est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 18/07/2008, 13h36   #13
Expert Confirmé
 
Avatar de Alain Defrance
 
Homme Alain DEFRANCE
Project Lead
Inscription : août 2007
Messages : 1 993
Détails du profil
Informations personnelles :
Nom : Homme Alain DEFRANCE
Âge : 24
Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

Informations professionnelles :
Activité : Project Lead

Informations forums :
Inscription : août 2007
Messages : 1 993
Points : 2 919
Points : 2 919
Envoyer un message via MSN à Alain Defrance Envoyer un message via Skype™ à Alain Defrance
Bonjour,

Désolé je viens un peu tard et comme un cheveu sur la soupe, mais pour les contraintes d'intégrité il y a deux moyen de ne pas avoir de problème :
  • Créer les tables dans un ordre qui ne pose pas problème
  • Ne pas poser les foreign key a la création, les ajouter une fois que toutes les tables sont créer.
__________________
http://alaindefrance.wordpress.com - http://www.alain-defrance.com
Certifications : SCJP6 - SCWCD5 - SCBCD5 - SCMAD1
Project Lead eXo Social
Java Black Belt - Java Black Belt Coach
Alain Defrance est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 18/07/2008, 18h27   #14
Candidat au titre de Membre du Club
 
Inscription : avril 2007
Messages : 78
Détails du profil
Informations forums :
Inscription : avril 2007
Messages : 78
Points : 11
Points : 11
merci comme même pour la réponse.
mais j'ai trouvé des problèmes lorsque j'ai importé les données de table Hyper File vers un fichier TXT, il m'affiche dans quelques lignes des infos illisible et des caractères bizarres.
et j'ai pas d'autres choix que CSV, car l'export des données se fait dans PHPMyAdmin depuis un fichier CSV ou SQL.
par contre l'import de table HF vers XML ou EXCEL passe correctement. Mais hélas, PHPMyAdmin n'accepte pas ces types comme des fichiers sources



qu'est ce que vous pouvez me proposer ??
foulla est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Proposer ce sujet en actualité
Outils de la discussion



Fuseau horaire GMT +2. Il est actuellement 21h26.


 
 
 
 
Partenaires

Hébergement Web