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

Shell et commandes GNU Discussion :

Lancer une requête sous MySQL depuis un script Unix


Sujet :

Shell et commandes GNU

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé
    Inscrit en
    Octobre 2008
    Messages
    137
    Détails du profil
    Informations forums :
    Inscription : Octobre 2008
    Messages : 137
    Par défaut Lancer une requête sous MySQL depuis un script Unix
    Bonjour à tous,

    Je cherche à lancer ce script dans un cron.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
     
     #/usr/bin/bash
     
        DB_USER='user'
        DB_PASS='test'
        DB='arpwatch'
     
        mysql -u "$DB_USER --enable-local-infile --password="$DB_PASS" --database="$DB"
        LOAD DATA LOCAL INFILE '/var/lib/arpwatch/arp.dat' INTO TABLE fichierdat FIELDS ENCLOSED BY "" LINES TERMINATED BY "\n";
    Quand je l’exécute, j'ai le client mysql qui se lance. Y a-t-il possibilité de faire lancer mon script sans que le client s'affiche justement ?

    Merci

  2. #2
    Modérateur
    Avatar de N_BaH
    Profil pro
    Inscrit en
    Février 2008
    Messages
    7 635
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2008
    Messages : 7 635
    Par défaut
    Bonjour,

    il faudrait vérifier dans la page man, il y a une option -e, ou -c.

    il aurait fallu faire un minimum de recherche avant de poster, parce que cette question revient ±régulièrement.
    .
    N'oubliez pas de consulter les cours shell, la FAQ, et les pages man.

  3. #3
    Membre confirmé
    Inscrit en
    Octobre 2008
    Messages
    137
    Détails du profil
    Informations forums :
    Inscription : Octobre 2008
    Messages : 137
    Par défaut
    Merci pour la réponse !

    Je peux juste te demander une précision , j'ai ajouté le -e mais j'ai des soucis avec l'encapsulation des quotes.

    Si tu peux juste m'expliquer comment faire échappement des caractères, car j'ai du mal avec les doubles quotes de la délimitation de la ligne.

  4. #4
    Modérateur
    Avatar de N_BaH
    Profil pro
    Inscrit en
    Février 2008
    Messages
    7 635
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2008
    Messages : 7 635
    Par défaut
    je remplacerais les apostrophes par des guillemets, et engloberais la commande entre apostrophes.
    .
    N'oubliez pas de consulter les cours shell, la FAQ, et les pages man.

  5. #5
    Membre confirmé
    Inscrit en
    Octobre 2008
    Messages
    137
    Détails du profil
    Informations forums :
    Inscription : Octobre 2008
    Messages : 137
    Par défaut
    J'ai essayé comment tu l'as dits voir d'autre variantes mais c'est toujours les doubles guillemets qui posent soucis .....

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    mysql -u "$DB_USER" --enable-local-infile --password="$DB_PASS" --database="$DB" -e='LOAD DATA LOCAL INFILE  "/var/lib/arpwatch/arp.dat" INTO TABLE fichierdat FIELDS ENCLOSED BY "" LINES TERMINATED BY "\n" ;'

  6. #6
    Modérateur
    Avatar de N_BaH
    Profil pro
    Inscrit en
    Février 2008
    Messages
    7 635
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2008
    Messages : 7 635
    Par défaut
    quel est le message d'erreur retourné par mysql ?

    il ne devrait pas y avoir de signe égal après l'option -e, ou alors utiliser l'option longue --execute=,
    et il devrait n'y avoir qu'un guillemet pour ENCLOSED BY.
    .
    N'oubliez pas de consulter les cours shell, la FAQ, et les pages man.

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Lancer une requête depuis un script Unix
    Par schranz dans le forum Débuter
    Réponses: 0
    Dernier message: 13/07/2014, 17h05
  2. [10g] Comment lancer une requête sous forme de " forms"
    Par lionrouge2009 dans le forum Forms
    Réponses: 2
    Dernier message: 06/08/2013, 18h48
  3. Lancer une commande avec pipes depuis un script
    Par theclem35 dans le forum Shell et commandes POSIX
    Réponses: 2
    Dernier message: 08/02/2012, 20h41
  4. Lancer une requête SQL dans un script UNIX
    Par wissem.ba dans le forum Requêtes
    Réponses: 8
    Dernier message: 22/03/2010, 11h56
  5. Lancer une requête sql avec sql plus sous dos
    Par feragne dans le forum Sql*Plus
    Réponses: 12
    Dernier message: 15/10/2008, 14h49

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