[Réglé]Problème Import Base Sql

Réduire
X
  • Filtrer
  • Heure
  • Afficher
Tout effacer
nouveaux messages

  • [Réglé]Problème Import Base Sql

    Salut,

    En important une sauvegarde de ma base Sql, il arrête l'import au bout de quelques tables et me met le message suivant (pourtant la base sauvegardée provient du même site sous free) :

    Erreur
    requête SQL:
    #
    # Dumping data for table `mos_comprofiler`
    #
    INSERT INTO mos_comprofiler
    VALUES ( 62, 62, '', '', '', 0, '', 1, 1, 1, '0000-00-00 00:00:00', 0, '' , , '', 0 )
    MySQL a réponduocumentation
    #1064 - You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near ''',0)' at line 4

    La sauvegarde a été effectuée via le composant mambo "dbAdmin"

    Je flippe grave car j'avais finis mon site et il était près à être transféré vers un hébergeur... : j'ai passé plusieurs semaines dessus !

    Merci par avance de votre aide.

    Jerome
    Dernière édition par jhautier à 18/10/2005, 12h49

  • #2
    Envoyé par jhautier
    VALUES ( 62, 62, '', '', '', 0, '', 1, 1, 1, '0000-00-00 00:00:00', 0, '' , , '', 0 )
    La sauvegarde a été effectuée via le composant mambo "dbAdmin"
    Il manque des simples quotes dans ton dump et cela provoque une erreur de syntaxe.

    As-tu accès à phpMyAdmin chez Free ? Si oui, voilà ce que tu peux faire :
    1. Essayer de refaire un backup avec phpMyAdmin cette fois en cochant Protéger les noms des tables et des champs par des "'" dans le cadre "Structure" et la case Insertions complètes du cadre "Données" . Le tout au format SQL. Si tu prévois une manip radicale, coches la case Inclure les enoncés "DROP TABLE"
    2. Autre solution si tu veux utiliser ton dump actuel, c'est de te taper le tout à la main, table par table via phpMyadmin (je le sais, j'ai du y passer également pour insérer malgré tout lorsque j'ai des erreurs comme celles ci)... Donc, tu ouvres ton dump dans un Notepad et tu copies le premier bloc, tu colles dans le cadre Exécuter des requêtes du menu SQL de phpMyAdmin... Exécuter... Pas d'erreur, tu fais la même chose pour le bloc suivant...etc. En cas d'erreur, tu corriges la requête à la main et tu l'exécutes à nouveau... et ainsi de suite jusqu'à la fin de ton dump
    C'est pas le pied, mais c'est le seul moyen de savoir où ça bloque ! Et te permettre de corriger... Les erreurs de syntaxe sont bien souvent des petits oublis d'apostrophes ou de points virgules de fin... Ca demande de la concentration
    Pas de demande de support en MP ou par mail, le forum est là pour ça!
    http://network.wantoo.com : Wantoo Network - Infogérance Serveurs Dédiés - Sécurité Joomla!

    Commentaire


    • #3
      Je ne peux plus faire de backup car j'ai supprimé les table pour ré-importer ma base !

      Quand tu parles de simple quot, tu entends par : ' ' ? C'est à dire qu'il manque une valeur entre les deux " ' ' " ?

      Concernant la deuxième manip, par dump, tu entends "sauvegarde de la base Sql " en fichier texte ?

      Concernant les blocs, dans ma sauvegarde via le composant comp_dbadmin, il me met tout le texte à la suite et je n'ai pas de blocs (ci-joint pour visu ma sauvegarde). Comment les répérer dans ce cas ?

      Par correction, comment déterminer l'erreur ? S'agit-il simplement de " " ou ' ' à rajouter ou de valeur ?

      Merci par avance de tes réponses, car je suis vraiment un newbies en informatique.

      Jerome
      Fichiers joints

      Commentaire


      • #4
        Envoyé par jhautier
        Je ne peux plus faire de backup car j'ai supprimé les table pour ré-importer ma base !
        Dommage !!! Mais c'est pas grave car il te reste le backup

        Envoyé par jhautier
        Quand tu parles de simple quot, tu entends par : ' ' ? C'est à dire qu'il manque une valeur entre les deux " ' ' " ?
        Oui, en fait, même si le contenu est vide, il est bon de mettre les ' '

        Envoyé par jhautier
        Concernant la deuxième manip, par dump, tu entends "sauvegarde de la base Sql " en fichier texte ?
        Oui, en fichier texte se terminant par .sql (comme la sauvegarde que tu as transmise dans ton post). C'est bon sur ce point.

        Envoyé par jhautier
        Concernant les blocs, dans ma sauvegarde via le composant comp_dbadmin, il me met tout le texte à la suite et je n'ai pas de blocs (ci-joint pour visu ma sauvegarde). Comment les répérer dans ce cas ?

        Par correction, comment déterminer l'erreur ? S'agit-il simplement de " " ou ' ' à rajouter ou de valeur ?
        Je viens d'ouvrir ton fichier de sauvegarde et il est ok ! Pour voir les "blocs", il te faut un éditeur adapté à la lecture des langages, coloration syntaxique...etc. J'utilise PSPad mais il y en a d'autres..
        Je te donne un exemple tiré de ton fichier :

        Code:
        DROP table IF EXISTS mos_bookmarks_columns;
        CREATE TABLE `mos_bookmarks_columns` (
          `id` int(11) NOT NULL auto_increment,
          `category` varchar(25) collate latin1_general_ci NOT NULL default '',
          `name` varchar(25) collate latin1_general_ci NOT NULL default '',
          `visible` tinyint(3) NOT NULL default '0',
          `visibleedit` tinyint(3) NOT NULL default '0',
          `visibledetail` tinyint(3) NOT NULL default '0',
          `visibleinfobox` tinyint(3) NOT NULL default '0',
          `ordering` int(11) NOT NULL default '0',
          `custom` tinyint(1) NOT NULL default '0',
          `title` varchar(25) collate latin1_general_ci NOT NULL default '',
          `f_type` tinyint(3) NOT NULL default '0',
          `f_length` smallint(6) NOT NULL default '0',
          PRIMARY KEY  (`id`),
          KEY `category` (`category`)
        ) ENGINE=MyISAM DEFAULT CHARSET=latin1 COLLATE=latin1_general_ci;
        Ca c'est le bloc de création (CREATE) de la table (destruction (DROP) au préalable si elle existe). A part l'encodage "latin1_general_ci" qui risque de poser problème par la suite, c'est tout bon.
        Ensuite, et c'est là où tu vas avoir à corriger si des problèmes survenaient :

        Code:
        #
        # Dumping data for table `mos_bookmarks_columns`
        #
        INSERT INTO mos_bookmarks_columns VALUES (1,'','image',1,0,1,1,0,0,'',0,0);
        INSERT INTO mos_bookmarks_columns VALUES (2,'','icon',1,0,1,0,1,0,'',0,0);
        INSERT INTO mos_bookmarks_columns VALUES (3,'','bookmark',1,0,1,1,2,0,'',0,0);
        Dans cet exemple, on insère des données dans la table nouvellement créée. Donc, entre paranthèses, on renseigne le contenu des champs dans l'ordre naturel de la table :
        • 1 : le numéro d'identification unique, l'ID
        • '' : rien ! Mais entouré par deux ' (simples quotes), correspond au champ 'category'... '' veut dire "vide" (pas Null)
        • ...etc jusqu'à la fin de l'insertion qui se termine toujours par un point-virgule ";" (après avoir refermé la paranthèse bien sur !)
        Donc, ce que je voulais dire par "blocs", c'est en fait de copier la première partie (DROP & CREATE) et la seconde (INSERT) pour réaliser l'opération. Tu réalises ainsi un travail table par table en t'arrêtant plus facilement sur les erreurs...
        Pas de demande de support en MP ou par mail, le forum est là pour ça!
        http://network.wantoo.com : Wantoo Network - Infogérance Serveurs Dédiés - Sécurité Joomla!

        Commentaire


        • #5
          Ok, je vais tenté les modifs.

          Juste deux précisions :

          Pour prendre la table INSERT, on ne prend pas en compte les #, ni les titres ?

          Ex:
          #
          # Dumping data for table `mos_comprofiler`
          #
          INSERT INTO mos_comprofiler VALUES (62,62,'','','',0,'',1,1,1,'0000-00-00 00:00:00',0,'','','',0);
          INSERT INTO mos_comprofiler VALUES (63,63,'','','',0,'',1,1,1,'0000-00-00 00:00:00',0,'','','',0);
          INSERT INTO mos_comprofiler VALUES (66,66,'ggggg','ggggggg','ggg',0,'',1,0,1,'0000-00-00 00:00:00',0,'','','',0);

          On sélectionne de INSERT jusqu'au ; (et non la phrase Dumping... + les #) ?

          Dans cet exemple, j'ai rajouté des ' ' là ou il n'y a pas de donnée, mais il me bloque l'import avec texte suivant :

          INSERT INTO mos_comprofiler
          VALUES ( 62, 62, '', '', '', 0, '', 1, 1, 1, '0000-00-00 00:00:00', 0, '', '', '', 0 )
          MySQL a réponduocumentation
          #1062 - Duplicate entry '62' for key 1


          Une idée ?

          Jerome

          Commentaire


          • #6
            Les "#" sont considérés comme des "remarques" et ne sont pas pris en compte... Donc tu ne t'en soucies pas !

            En revanche "duplicate entry" veut dire que tu essaies d'inscrire des données sur une clé unique ayant déjà enregistré ce nombre... As-tu effacé complètement les tables avant de refaire les insertions ??
            Pas de demande de support en MP ou par mail, le forum est là pour ça!
            http://network.wantoo.com : Wantoo Network - Infogérance Serveurs Dédiés - Sécurité Joomla!

            Commentaire


            • #7
              J'ai fais la manip suivante :

              - Sélection de toutes les tables via les "cases à cocher"
              - Sélection de "Supprimer" dans la liste déroulante, puis confirmation.

              Jerome

              Commentaire


              • #8
                Envoyé par jhautier
                - Sélection de "Supprimer" dans la liste déroulante, puis confirmation.
                Ok, maintenant, ta base est donc vide ! Importe bloc par bloc, en copier/coller le contenu de ton fichier de sauvegarde vers le champ SQL/Exécuter...
                Pas de demande de support en MP ou par mail, le forum est là pour ça!
                http://network.wantoo.com : Wantoo Network - Infogérance Serveurs Dédiés - Sécurité Joomla!

                Commentaire


                • #9
                  Ok merci pour tes conseils.

                  Je vais faire les tests.

                  Je fais un posts si ok ou ... non.

                  Jerome

                  Commentaire


                  • #10
                    Bon finalement j'ai effectué des tests et le copier/coller fonctionne bien.

                    Je te remercie pour ces conseils.

                    Ceci-étant, Celeonet (dont je salue la réactivité et le professionnalisme) m'ont gracieusement proposés d'importer ma base en corrigeant les petits soucis eux-mêmes. Je les avaient effectivement contacté pour mon hébergement.

                    Merci encore.

                    Jerome

                    Commentaire

                    Annonce

                    Réduire
                    1 sur 2 < >

                    C'est [Réglé] et on n'en parle plus ?

                    A quoi ça sert ?
                    La mention [Réglé] permet aux visiteurs d'identifier rapidement les messages qui ont trouvé une solution.

                    Merci donc d'utiliser cette fonctionnalité afin de faciliter la navigation et la recherche d'informations de tous sur le forum.

                    Si vous deviez oublier de porter cette mention, nous nous permettrons de le faire à votre place... mais seulement une fois
                    Comment ajouter la mention [Réglé] à votre discussion ?
                    1 - Aller sur votre discussion et éditer votre premier message :


                    2 - Cliquer sur la liste déroulante Préfixe.

                    3 - Choisir le préfixe [Réglé].


                    4 - Et voilà… votre discussion est désormais identifiée comme réglée.

                    2 sur 2 < >

                    Assistance au forum - Outil de publication d'infos de votre site

                    Compatibilité: PHP 4.1,PHP4, 5, 6DEV MySQL 3.2 - 5.5 MySQLi from 4.1 ( @ >=PHP 4.4.9)

                    Support Version de Joomla! : | J!3.0 | J!2.5.xx | J!1.7.xx | J!1.6.xx | J1.5.xx | J!1.0.xx |

                    Version française (FR) D'autres versions sont disponibles depuis la version originale de FPA

                    UTILISER À VOS PROPRES RISQUES :
                    L'exactitude et l'exhaustivité de ce script ainsi que la documentation ne sont pas garanties et aucune responsabilité ne sera acceptée pour tout dommage, questions ou confusion provoquée par l'utilisation de ce script.

                    Problèmes connus :
                    FPA n'est actuellement pas compatible avec des sites Joomla qui ont eu leur fichier configuration.php déplacé en dehors du répertoire public_html.

                    Installation :

                    1. Téléchargez l'archive souhaitée : http://afuj.github.io/FPA/

                    Archive zip : https://github.com/AFUJ/FPA/zipball/master

                    2. Décompressez le fichier de package téléchargé sur votre propre ordinateur (à l'aide de WinZip ou d'un outil de décompression natif).

                    3. Lisez le fichier LISEZMOI inclus pour toutes les notes de versions spécifiques.

                    4. LIRE le fichier de documentation inclus pour obtenir des instructions d'utilisation détaillées.

                    5. Téléchargez le script fpa-fr.php à la racine de votre site Joomla!. C'est l'endroit que vous avez installé Joomla et ce n'est pas la racine principale de votre serveur. Voir les exemples ci-dessous.

                    6. Exécutez le script via votre navigateur en tapant: http:// www. votresite .com/ fpa-fr.php
                    et remplacer www. votresite .com par votre nom de domaine


                    Exemples:
                    Joomla! est installé dans votre répertoire web et vous avez installé la version française du fichier FPA:
                    Télécharger le script fpa-fr.php dans: /public_html/
                    Pour executer le script: http://www..com/fpa-fr.php

                    Joomla! est installé dans un sous-répertoire nommé "cms" et vous avez installé la version française du fichier FPA:
                    Télécharger le script fpa-fr.php dans: /public_html/cms/
                    Pour executer le script: http://www..com/cms/fpa-fr.php

                    En raison de la nature très sensible de l'information affichée par le script FPA, il doit être retiré immédiatement du serveur après son utilisation.

                    Pour supprimer le script de votre site, utilisez le lien de script de suppression fourni en haut de la page du script. Si le lien de suppression échoue pour supprimer le script, utilisez votre programme FTP pour le supprimer manuellement ou changer le nom une fois que le script a généré les données du site et le message publié sur le forum. Si le script est toujours présent sur le site, il peut être utilisé pour recueillir suffisamment d'informations pour pirater votre site. Le retrait du script empêche des étrangers de l'utiliser pour jeter un oeil à la façon dont votre site est structuré et de détecter les défauts qui peuvent être utilisé à vos dépends.
                    Voir plus
                    Voir moins
                    Travaille ...
                    X