IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Langage Perl Discussion :

Requete SQL vers base MySQL


Sujet :

Langage Perl

  1. #21
    Membre chevronné Avatar de dmganges
    Homme Profil pro
    Retraité. Ne recherche pas un emploi.
    Inscrit en
    Septembre 2011
    Messages
    1 392
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 71
    Localisation : France, Hérault (Languedoc Roussillon)

    Informations professionnelles :
    Activité : Retraité. Ne recherche pas un emploi.
    Secteur : Service public

    Informations forums :
    Inscription : Septembre 2011
    Messages : 1 392
    Points : 2 044
    Points
    2 044
    Par défaut
    Bonjour,
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Column count doesn't match value count at row 1
    Ce genre d'erreur semble correspondre à une valeur qui est en dehors d'une contrainte posée sur une colonne du genre 100 < colonne < 1000
    Enfin toujours en relation avec Oracle, désolé

    Dans ton export il y aurait des valeurs en dehors d'une contrainte...
    Comme ça parle de count, je crois qu'en MySQL il est possible de déclarer des compteurs qui s'incrémentent automatiquement.
    Une limite max peut être également précisée à la création du compteur...

  2. #22
    Membre à l'essai
    Homme Profil pro
    Étudiant
    Inscrit en
    Juin 2012
    Messages
    51
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Haute Loire (Auvergne)

    Informations professionnelles :
    Activité : Étudiant
    Secteur : Industrie

    Informations forums :
    Inscription : Juin 2012
    Messages : 51
    Points : 17
    Points
    17
    Par défaut Sql
    En passant les resultats par la requete, j'ai surement fait une ereur dans ma synthaxe de requete à

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    my $query = sprintf
    			'INSERT INTO Puissance(Puissance_P, Puissance_Q, Dephasage, Puissance_S) 
    			 VALUES 
    			 ("';		  		   
    				foreach (keys %values) 
    				{ 
    		        	$query .= $values{$_}."','"; 
    		   		} chop; chop;   # pour supprimer le  "," de fin de ligne 
    				$query .= 
    			  '")';
    Car j'ai dans la fenetre qui apparait : ("38173768,47807648,814,24458688,") et du coup, j'ai qu'un seule variable qui contient 4 valeurs.
    Il faudrait avoir je pense ("38173768","47807648","814","24458688,") comme sa, je rempli bien les champs avec une seule valeur.

    Je pense etre sur la bonne voie . . .
    Si quelqu'un peut me confirmer mes dires ?

    Merci
    @+

  3. #23
    Membre chevronné Avatar de dmganges
    Homme Profil pro
    Retraité. Ne recherche pas un emploi.
    Inscrit en
    Septembre 2011
    Messages
    1 392
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 71
    Localisation : France, Hérault (Languedoc Roussillon)

    Informations professionnelles :
    Activité : Retraité. Ne recherche pas un emploi.
    Secteur : Service public

    Informations forums :
    Inscription : Septembre 2011
    Messages : 1 392
    Points : 2 044
    Points
    2 044
    Par défaut
    Perso j'ai du mal à suivre le fil, d'autant que je ne baigne pas dedans
    Et l'indentation n'est pas tip top !


    Avant de faire le prepare fait un print de $query comme te l'a déjà suggéré djibril !

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    my $query =
    			"INSERT INTO Puissance(Puissance_P, Puissance_Q, Dephasage, Puissance_S) 
    			 VALUES 
    			 ('";
     
    				foreach (keys %values) 
    				{ 
    		        	$query .= $values{$_}.","; 
    		   		} chop; chop;   # pour virer le  "," final; 
    				$query .= 
    			  "')";
     
     				print "\n=$query=\n";
     
    				my $sqlQuery  = $dbh->prepare($query) or die "Can't prepare $query: $dbh->errstrn";
    			#	$sqlQuery->execute() or die "Can't execute $query: $dbh->errstrn";
    On verra à quoi ressemble la requête !

    Il faudrait avoir je pense ("38173768","47807648","814","24458688,") comme sa, je rempli bien les champs avec une seule valeur.
    Ben OUI

  4. #24
    Membre à l'essai
    Homme Profil pro
    Étudiant
    Inscrit en
    Juin 2012
    Messages
    51
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Haute Loire (Auvergne)

    Informations professionnelles :
    Activité : Étudiant
    Secteur : Industrie

    Informations forums :
    Inscription : Juin 2012
    Messages : 51
    Points : 17
    Points
    17
    Par défaut Sql
    Oui, j'ai fais un print après le $query et j'obtient ceci.


    ##### ouverture session #####


    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    Content-type: text/htmlnn
     INSERT INTO Puissance(Puissance_P, Puissance_Q, Dephasage, Puissance_S)
                             VALUES
                             ("38338892','48013976','802','24547320','")
    Content-type: text/htmlnn
     INSERT INTO Puissance(Puissance_P, Puissance_Q, Dephasage, Puissance_S)
                             VALUES
                             ("381638','0','65432','0','")
    Content-type: text/htmlnn
     INSERT INTO Puissance(Puissance_P, Puissance_Q, Dephasage, Puissance_S)
                             VALUES
                             ("106867000','115187710','950','28614018','")
     
     
     
    ##### Fin session #####
    Press Enter to continue

  5. #25
    Membre chevronné Avatar de dmganges
    Homme Profil pro
    Retraité. Ne recherche pas un emploi.
    Inscrit en
    Septembre 2011
    Messages
    1 392
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 71
    Localisation : France, Hérault (Languedoc Roussillon)

    Informations professionnelles :
    Activité : Retraité. Ne recherche pas un emploi.
    Secteur : Service public

    Informations forums :
    Inscription : Septembre 2011
    Messages : 1 392
    Points : 2 044
    Points
    2 044
    Par défaut
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    INSERT INTO Puissance(Puissance_P, Puissance_Q, Dephasage, Puissance_S) VALUES ("38338892','48013976','802','24547320','")
    Il te faut obtenir :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    INSERT INTO Puissance(Puissance_P, Puissance_Q, Dephasage, Puissance_S) VALUES ("38338892","48013976","802","24547320")

  6. #26
    Membre à l'essai
    Homme Profil pro
    Étudiant
    Inscrit en
    Juin 2012
    Messages
    51
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Haute Loire (Auvergne)

    Informations professionnelles :
    Activité : Étudiant
    Secteur : Industrie

    Informations forums :
    Inscription : Juin 2012
    Messages : 51
    Points : 17
    Points
    17
    Par défaut Sql
    Je dois donc travailler sur la snthax à ce niveau :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    'INSERT INTO Puissance(Puissance_P, Puissance_Q, Dephasage, Puissance_S) 
    			 VALUES 
    			 ("';		  		   
    				foreach (keys %values) 
    				{ 
    		        	$query .= $values{$_}."','"; 
    		   		} chop; chop;   # pour supprimer le  "," de fin de ligne 
    				$query .= 
    			  '")';
    En modifiant les quotes ou en rajoutant un " ou ' ?
    car j'ai essayé de mettre $query .= $values{$_}."" , ""; mais le resultat est que le code apparait entieremnet dans la fenetre.
    en commentaire

  7. #27
    Membre à l'essai
    Homme Profil pro
    Étudiant
    Inscrit en
    Juin 2012
    Messages
    51
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Haute Loire (Auvergne)

    Informations professionnelles :
    Activité : Étudiant
    Secteur : Industrie

    Informations forums :
    Inscription : Juin 2012
    Messages : 51
    Points : 17
    Points
    17
    Par défaut Sql
    J'avoue quand même que le perl est assez compliqué à manipuler, je suis débutant (environ 3 mois que je bosse dessus ^^)

    Merci

  8. #28
    Membre chevronné Avatar de dmganges
    Homme Profil pro
    Retraité. Ne recherche pas un emploi.
    Inscrit en
    Septembre 2011
    Messages
    1 392
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 71
    Localisation : France, Hérault (Languedoc Roussillon)

    Informations professionnelles :
    Activité : Retraité. Ne recherche pas un emploi.
    Secteur : Service public

    Informations forums :
    Inscription : Septembre 2011
    Messages : 1 392
    Points : 2 044
    Points
    2 044
    Par défaut
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    'INSERT INTO Puissance(Puissance_P, Puissance_Q, Dephasage, Puissance_S) 
    			 VALUES 
    			 ("';		  		   
    				foreach (keys %values) 
    				{ 
    		        	$query .= $values{$_}."','"; 
    		   		} chop; chop;   # pour supprimer le  "," de fin de ligne 
    				$query .= 
    			  '")';
    Au pif sans pouvoir tester ça devrait se rapprocher de çà :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    'INSERT INTO Puissance(Puissance_P, Puissance_Q, Dephasage, Puissance_S) 
    			 VALUES 
    			 ("';		  		   
    				foreach (keys %values) 
    				{ 
    		        	$query .= $values{$_}.'","'; 
    		   		} chop; chop;   # pour supprimer le  "," de fin de ligne 
    				$query .= 
    			  ')';
    EDIT :

    ATTENTION j'ai modifié la requête le début ("'; et la fin ')';
    J'avoue quand même que le perl est assez compliqué à manipuler, je suis débutant (environ 3 mois que je bosse dessus ^^)
    Oui mais il est très puissant !
    Moi-même je ne l'ai découvert que très tard, et suis loin d'avoir les compétences que tu trouveras ici.
    Je ne peux que t'encourager à investir du temps dans ce super langage...

  9. #29
    Membre à l'essai
    Homme Profil pro
    Étudiant
    Inscrit en
    Juin 2012
    Messages
    51
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Haute Loire (Auvergne)

    Informations professionnelles :
    Activité : Étudiant
    Secteur : Industrie

    Informations forums :
    Inscription : Juin 2012
    Messages : 51
    Points : 17
    Points
    17
    Par défaut Sql
    En partant sur

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
     
    'INSERT INTO Puissance(Puissance_P, Puissance_Q, Dephasage, Puissance_S) 
    			 VALUES 
    			 (";		  		   
    				foreach (keys %values) 
    				{ 
    		        	$query .= $values{$_}.'","'; 
    		   		} chop; chop;   # pour supprimer le  "," de fin de ligne 
    				$query .= 
    			  ")';
    la fenetre me renvoie le script., à cause de " et " du coup cat il les mets en commentaires et les affiche je pense?

  10. #30
    Membre chevronné Avatar de dmganges
    Homme Profil pro
    Retraité. Ne recherche pas un emploi.
    Inscrit en
    Septembre 2011
    Messages
    1 392
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 71
    Localisation : France, Hérault (Languedoc Roussillon)

    Informations professionnelles :
    Activité : Retraité. Ne recherche pas un emploi.
    Secteur : Service public

    Informations forums :
    Inscription : Septembre 2011
    Messages : 1 392
    Points : 2 044
    Points
    2 044
    Par défaut
    Désolé entre temps je l'ai modifié regarde au dessus.
    Mais maintenant que tu as le print ça devrait t'aider à la construire...

  11. #31
    Membre à l'essai
    Homme Profil pro
    Étudiant
    Inscrit en
    Juin 2012
    Messages
    51
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Haute Loire (Auvergne)

    Informations professionnelles :
    Activité : Étudiant
    Secteur : Industrie

    Informations forums :
    Inscription : Juin 2012
    Messages : 51
    Points : 17
    Points
    17
    Par défaut Sql
    C'est très sympathique de m'aider, j'apprécie beaucoup.
    C'est sur que celui qui gère els langage de prog et en particulier le PERL peut faire enormement de chose.

    Je ne savais pas il y a 2-3 mois que l'on pouvais rentrer dans un serveur et exploiter les données, les exporter en csv ou vers une BDD, ...

    Je vais m'y interressé encoe je pense, car c'est une bonne compétence à avoir je pense.

    Merci pour le code, je le teste de suite.

  12. #32
    Membre à l'essai
    Homme Profil pro
    Étudiant
    Inscrit en
    Juin 2012
    Messages
    51
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Haute Loire (Auvergne)

    Informations professionnelles :
    Activité : Étudiant
    Secteur : Industrie

    Informations forums :
    Inscription : Juin 2012
    Messages : 51
    Points : 17
    Points
    17
    Par défaut Sql
    Punaise, c'est bien cela ^^

    Tout marche bien, l'export donne ceci :


    [CODE]##### ouverture session #####

    Content-type: text/htmlnn
    INSERT INTO Puissance(Puissance_P, Puissance_S, Dephasage, Puissance_Q)

    VALUES
    ("38364196",48045324",815",24562498",)
    Content-type: text/htmlnn
    INSERT INTO Puissance(Puissance_P, Puissance_S, Dephasage, Puissance_Q)

    VALUES
    ("381658",0",65431",0",)
    Content-type: text/htmlnn
    INSERT INTO Puissance(Puissance_P, Puissance_S, Dephasage, Puissance_Q)

    VALUES
    ("106899930",115221790",968",28617840",)

    ##### Fin session #####
    Press Enter to continueS
    [/CODE]

    Du coup, les requetes sont bonnes, et renvoient la boone information. Je vais pouvoir continuer l'export vers la BDD.
    et finir de corriger les ereurs suivantes

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    Content-type: text/htmlnn
     INSERT INTO Puissance(Puissance_P, Puissance_S, Dephasage, Puissance_Q)
    
                            VALUES
    
                             ("38365988",48047512",817",24563728",)
    DBD::mysql::st execute failed: You have an error in your SQL syntax; check the m
    anual that corresponds to your MySQL server version for the right syntax to use
    near '",817",24563728",)' at line 5 at F:/export_data_sql_V5.pl line 311.
    
     INSERT INTO Puissance(Date) VALUES ("13:35-5/6/2014")
    DBD::mysql::st execute failed: Duplicate entry '' for key 'PRIMARY' at F:/export
    _data_sql_V5.pl line 318.
    Content-type: text/htmlnn
    Merci beaucoup en tout cas pour l'aide et merci pour l'encouragement, sa fait plaisir

    Merci
    @+

  13. #33
    Membre chevronné Avatar de dmganges
    Homme Profil pro
    Retraité. Ne recherche pas un emploi.
    Inscrit en
    Septembre 2011
    Messages
    1 392
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 71
    Localisation : France, Hérault (Languedoc Roussillon)

    Informations professionnelles :
    Activité : Retraité. Ne recherche pas un emploi.
    Secteur : Service public

    Informations forums :
    Inscription : Septembre 2011
    Messages : 1 392
    Points : 2 044
    Points
    2 044
    Par défaut
    ATTENTION celle-ci n'est pas correcte :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    VALUES
    ("381658",0",65431",0",)
    Content-type: text/htmlnn
    INSERT INTO Puissance(Puissance_P, Puissance_S, Dephasage, Puissance_Q)
    et en tout étant de cause même si ça fonctionne il ne devrait pas y avoir de , avant )

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    VALUES
    ("381658","0","65431","0")
    Content-type: text/htmlnn
    INSERT INTO Puissance(Puissance_P, Puissance_S, Dephasage, Puissance_Q)
    Ne laisse pas trainer ce genre de chose.

    N'oublie JAMAIS qu'une requête dont la syntaxe est juste te ramènera souvent quelque chose !
    MAIS PAS TOUJOURS CE QUE TU ATTENDS !!!!

    BONNE CONTINUATION

  14. #34
    Membre à l'essai
    Homme Profil pro
    Étudiant
    Inscrit en
    Juin 2012
    Messages
    51
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Haute Loire (Auvergne)

    Informations professionnelles :
    Activité : Étudiant
    Secteur : Industrie

    Informations forums :
    Inscription : Juin 2012
    Messages : 51
    Points : 17
    Points
    17
    Par défaut Sql
    Ok, je repare l'erreur, et merci pour l'aide apportée.
    C'est super cool ^^
    Merci

  15. #35
    Membre chevronné Avatar de dmganges
    Homme Profil pro
    Retraité. Ne recherche pas un emploi.
    Inscrit en
    Septembre 2011
    Messages
    1 392
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 71
    Localisation : France, Hérault (Languedoc Roussillon)

    Informations professionnelles :
    Activité : Retraité. Ne recherche pas un emploi.
    Secteur : Service public

    Informations forums :
    Inscription : Septembre 2011
    Messages : 1 392
    Points : 2 044
    Points
    2 044
    Par défaut
    De rien, a part 2 petites requêtes pour un tuto ça faisait plus de dix ans que je n'avais pas fait de SQL.
    Merci à toi de m'avoir permis de m'y remettre.
    Passe la discussion en résolu, ça donnera du courage aux autres lecteurs pour lire jusqu'à la fin

  16. #36
    Membre à l'essai
    Homme Profil pro
    Étudiant
    Inscrit en
    Juin 2012
    Messages
    51
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Haute Loire (Auvergne)

    Informations professionnelles :
    Activité : Étudiant
    Secteur : Industrie

    Informations forums :
    Inscription : Juin 2012
    Messages : 51
    Points : 17
    Points
    17
    Par défaut Sql
    Voilà, c'est fait

    @ bientot

  17. #37
    Membre chevronné Avatar de dmganges
    Homme Profil pro
    Retraité. Ne recherche pas un emploi.
    Inscrit en
    Septembre 2011
    Messages
    1 392
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 71
    Localisation : France, Hérault (Languedoc Roussillon)

    Informations professionnelles :
    Activité : Retraité. Ne recherche pas un emploi.
    Secteur : Service public

    Informations forums :
    Inscription : Septembre 2011
    Messages : 1 392
    Points : 2 044
    Points
    2 044
    Par défaut
    Merci @+

+ Répondre à la discussion
Cette discussion est résolue.
Page 2 sur 2 PremièrePremière 12

Discussions similaires

  1. Probleme de date dans requete SQL vers base de donnée MS Access
    Par Uren dans le forum Persistance des données
    Réponses: 1
    Dernier message: 04/08/2008, 13h06
  2. Réplication données depuis Base SQL Server vers Base MYSQL
    Par elspliffo dans le forum Réplications
    Réponses: 2
    Dernier message: 27/09/2007, 14h02
  3. Réplication données depuis Base SQL Server vers Base MYSQL
    Par elspliffo dans le forum MS SQL Server
    Réponses: 2
    Dernier message: 27/09/2007, 14h02
  4. Requete SQL sur base SQL Server VB6
    Par Yanmeunier dans le forum VB 6 et antérieur
    Réponses: 3
    Dernier message: 25/11/2005, 12h30
  5. Exporter des données d'un requete SQL vers excel (csv)
    Par PrinceMaster77 dans le forum ASP
    Réponses: 9
    Dernier message: 08/10/2005, 22h28

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo