Script en shell avec requette sql

Résolu
nbonnet Messages postés 503 Statut Membre -  
nbonnet Messages postés 503 Statut Membre -
Bonjour,

Je ne sais pas si c'est le bon forum mais je tente quand même.

Je voudrais créer un script qui m'affiche le résulat de ma requette sql. Ma question est simple :

omment en shell je peux récupérer les données que renvoi ma requette (sachant qu'elle renvoie 2 colonnes avec X lignes)?

Mes recherches m'ont permis de trouver comment l'executer mais pas de récupérer les valeurs.

Est-ce qu'il suffit de faire :

MaVar='sql -S serveur -D base -U utilisateur -P mot_de_passe -b Base <requetes.sql'


Merci d'avance
--
---------------------------------------------------------------------
La vie est-elle trop courte pour rester derrière son écran?
Configuration: Mac OS X
Firefox 3.0.11

26 réponses

  • 1
  • 2
  1. dubcek Messages postés 18627 Date d'inscription   Statut Contributeur Dernière intervention   5 660
     
    enlève le <
    sed -i -e '/CLnom STnom ADippublic ADlogin/d' fichier
    2
  2. dubcek Messages postés 18627 Date d'inscription   Statut Contributeur Dernière intervention   5 660
     
    hello
    avec quel shell ?
    essayer :
    MaVar=$(sql -S serveur -D base -U utilisateur -P mot_de_passe -b Base <requetes.sql)
    1
  3. nbonnet Messages postés 503 Statut Membre 48
     
    slt c'est du bash.
    0
  4. dubcek Messages postés 18627 Date d'inscription   Statut Contributeur Dernière intervention   5 660
     
    donc essayer MaVar=$(sql -S serveur -D base -U utilisateur -P mot_de_passe -b Base <requetes.sql)
    0
  5. Vous n’avez pas trouvé la réponse que vous recherchez ?

    Posez votre question
  6. nbonnet Messages postés 503 Statut Membre 48
     
    Oki alors la réponse est qu'il ne connait pas la commande sql j'ai recherché sur le net je ne trouve pas comment faire.

    je precise que je suis sur mac, j'ai installé MAMP et que le reste du script se lance bien.
    0
  7. dubcek Messages postés 18627 Date d'inscription   Statut Contributeur Dernière intervention   5 660
     
    ca veut dire que sql n'est pas dans le PATH, pour vérifier echo $PATH
    essayer /chemin/sql ...
    0
  8. nbonnet Messages postés 503 Statut Membre 48
     
    Voila ce que "echo $PATH" me renvoie :

    /Library/Frameworks/Python.framework/Versions/Current/bin:/bin:/sbin:/usr/bin:/usr/local/bin:/usr/sbin

    Je ne trouve pas lequel choisir il me retourne a chaque fois :

    No such file or directory.

    Vraiment dsl je suis vraiment debutant. En tout cas merci de m'aider
    0
  9. dubcek Messages postés 18627 Date d'inscription   Statut Contributeur Dernière intervention   5 660
     
    il faut savoir où est installé l'exécutable sql
    y a-t-il une variable d'environnement ? set ¦ grep -i sql
    sinon le chercher
    find / -type f -name sql -ls
    0
  10. nbonnet Messages postés 503 Statut Membre 48
     
    apparemment il n'y a pas de variable d'environnement et le find me le trouve pas.

    auto115:~ nbonnet$ set | grep -i sql
    auto115:~ nbonnet$ find / -type f -name sql -ls
    find: /.fseventsd: Permission denied
    find: /.Spotlight-V100/Store-V1: Permission denied
    find: /dev/fd/3: Not a directory
    find: /dev/fd/4: Not a directory
    find: /Library/Application Support/Apple/ParentalControls/Users: Permission denied
    find: /Library/Application Support/Apple/Remote Desktop/Client: Permission denied
    find: /Library/Application Support/Apple/Remote Desktop/Task Server: Permission denied
    find: /Library/Application Support/Lobotomo Software/IPSecuritas: Permission denied
    find: /Library/Application Support/VPN Tracker 4/cert: Permission denied
    find: /Library/Caches/com.google.MacFUSEAutoinstaller.Keystone.0: Permission denied
    find: /Library/Caches/com.google.UpdateEngine.Framework.0: Permission denied
    find: /Library/Logs/Console/501: Permission denied
    find: /Library/PreferencePanes/Sybase.prefPane: Permission denied
    find: /net/localhost: Operation timed out
    find: /net/broadcasthost: Operation timed out

    et ceci n'en fini plus
    puis
    0
  11. dubcek Messages postés 18627 Date d'inscription   Statut Contributeur Dernière intervention   5 660
     
    sql est bien installé ?
    essaye
    find /usr -type f -name sql -ls
    0
  12. nbonnet Messages postés 503 Statut Membre 48
     
    J'ai installé MAMP et la commande ne me retourne aucun resultat.
    0
  13. dubcek Messages postés 18627 Date d'inscription   Statut Contributeur Dernière intervention   5 660
     
    est ce qu'il y a un dossier MAMP ?
    0
  14. nbonnet Messages postés 503 Statut Membre 48
     
    Oui il est dans /Applications/MAMP/

    Il faut que je lance la commande depuis ce répertoire?
    0
  15. nbonnet Messages postés 503 Statut Membre 48
     
    j'ai regardé aux alentours il y a un script pour le démarrage du service MySql qui commence par

    /Applications/MAMP/Library/bin/mysqld_safe

    sauf que lorsque je met ceci dans mon script j'ai en retour

    chown: /Applications/MAMP/db/mysql/auto115.intra.err: Operation not permitted

    je vois pas quelle est l'erreur j'ai tenté de mettre le chown sur nbonnet:nbonnet car il était sur nbonnet:admin mais ca marche toujours pas
    0
  16. dubcek Messages postés 18627 Date d'inscription   Statut Contributeur Dernière intervention   5 660
     
    essaye
    ls /Applications/MAMP/Library/bin
    ou ne serait-ce pas mysql ?
    ou find /Applications/MAMP -name mysql -ls
    0
  17. nbonnet Messages postés 503 Statut Membre 48
     
    il ne me trouve pas non plus mais j'ai trouver en utilisant

    /Applications/MAMP/Library/bin/mysqladmin --host=127.0.0.1 --user=nbonnet --port=8889

    au lieu de

    sql

    dans le script cela ne me retourne plus d'erreur sauf qu'il faut que je trouve pas les bonnes options pour me connecter à la base de donnée.
    0
  18. nbonnet Messages postés 503 Statut Membre 48
     
    enfin la solution

    printf "SELECT login, nombre FROM adsl"|/Applications/MAMP/Library/bin/mysql -D test_bagotage>test.text

    voila la ligne qu'il me faut pour pouvoir reupérer les données de ma table mais dans un fichier text. Il me reste plus qu'a travailler sur ce fichier pour pour utiliser les données
    0
  19. dubcek Messages postés 18627 Date d'inscription   Statut Contributeur Dernière intervention   5 660
     
    il faut ajouter /Applications/MAMP/Library/bin dans ton PATH pour appeler simplement mysql:
    export PATH=$PATH:/Applications/MAMP/Library/bin
    ajouter cette ligne à la fin de .bashrc pour que se soit permanent
    0
  20. nbonnet Messages postés 503 Statut Membre 48
     
    oki merci bien j'ai réussi a me connecter a ma base de donnée et à lancer ma requete. sauf que cette dernière me renvoie un fichier comme ceci :

    CLnom STnom ADippublic ADlogin
    Scipt equation 10.11.12.13 login
    CLnom STnom ADippublic ADlogin
    Scipt2 equation2 10.11.12.13 login

    J'aimerais bien suprimer les lignes :
    CLnom STnom ADippublic ADlogin

    je n'arrive pas a faire ma boucle avec un while. Tu peux m'aider pour ceci?
    0
  21. dubcek Messages postés 18627 Date d'inscription   Statut Contributeur Dernière intervention   5 660
     
    soit depuis un fichier
    sed -e '/CLnom STnom ADippublic ADlogin/d' < fichier
    soit depuis un pipe line
    ta_commande ¦ sed -e '/CLnom STnom ADippublic ADlogin/d'
    0
  • 1
  • 2