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

Administration MySQL Discussion :

Probleme de commande "spool" dans fichier sql crée à la volée par un .SH


Sujet :

Administration MySQL

  1. #1
    Membre régulier
    Profil pro
    Inscrit en
    Janvier 2008
    Messages
    155
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2008
    Messages : 155
    Points : 119
    Points
    119
    Par défaut Probleme de commande "spool" dans fichier sql crée à la volée par un .SH
    Bonjour;
    Je crois que tout est dans le sujet. Je suis sous Linux.

    En clair voici mon code .SH qui crée le .SQL et qui l'execute afin de pouvoir créer un spool (fichier temporaire de sortie) :
    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
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
     
    #!/bin/sh
     
    #
    # Variables globales
    #
    USER_MYSQL="biiiiiiip"
    PWD_MYSQL="biiiiip"
    HOST_MYSQL="dbbuiiip"
    SID_MYSQL="pwdbiiip"
    #
    FIC_EXTRACT_SQL_SPOOL=extract_mysql.spool
    FIC_EXTRACT_SQL=extract_mysql.sql
    #
    # Procedure de creation du script mysql en focntion de la requete plee en argument
    creer_script_mysql()
    {
    echo "spool ${FIC_EXTRACT_SQL_SPOOL};"
    echo "set head off;"
    echo "${1}"
    echo "spool off;"
    echo "exit;"
    echo
    } >${FIC_EXTRACT_SQL}
    #################
    #
    # MAIN
    #
    {
     
    my_query="select distinct produit from table;";
    creer_script_mysql "${my_query}"
    if [ $? -neq 0 ]; then
            echo "ERREUR SH : lors de la creation du script mysql \n"
    fi
    # On l execute
    mysql -u${USER_MYSQL} -p${PWD_MYSQL} -h${HOST_MYSQL} ${SID_MYSQL} -e ${FIC_EXTRACT_SQL}
    echo "Execution de mysql -u${USER_MYSQL} -p${PWD_MYSQL} -h${HOST_MYSQL} ${SID_MYSQL} -e ${FIC_EXTRACT_SQL}"
    if [ ! -s ${FIC_EXTRACT_SQL_SPOOL} ]; then
    {
            echo "ERREUR MYSQL : lors de l'extraction des donees \n"
    }
    fi
     
     
    }
    # END generer_config.sh
    Voici le .SQL que j'obtiens :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
     
    spool extract_mysql.spool;
    set head off;
    select distinct produit from table_ip;
    spool off;
    exit;
    Et voici l'erreur SQL que j'obtiens :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    ERROR 1064 (42000): 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 'spool extract_mysql.spool' at line 1
    Si je me connecte sur la base Mysql directement j'obtiens la meme erreur avec la commande spool :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
     
    mysql> spool extract_mysql.spool;
    ERROR 1064 (42000): 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 'spool extract_mysql.spool' at line 1
    mysql> spool ./extract_mysql.spool
        -> ;
    ERROR 1064 (42000): 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 'spool ./extract_mysql.spool' at line 1
    mysql> exit
    Bye
    D'ou proviens cette erreur de SYNTAX ?
    Merci d'aider un newbie en MySQL

  2. #2
    Expert confirmé
    Profil pro
    Inscrit en
    Août 2008
    Messages
    2 950
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2008
    Messages : 2 950
    Points : 5 849
    Points
    5 849
    Par défaut
    SPOOL et SET c'est du Oracle sqlplus... ça ne fonctionne pas sur MySql

  3. #3
    Membre régulier
    Profil pro
    Inscrit en
    Janvier 2008
    Messages
    155
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2008
    Messages : 155
    Points : 119
    Points
    119
    Par défaut
    Aïe ! Et bien je m'attendais à une réponse comme celle - là ...
    Alors quelle est l'instruction MySQL ?
    Arf! Allez je vais fouiller.... Googleismyfriend

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

Discussions similaires

  1. Requête dans fichier .sql
    Par bibifoke dans le forum Accès aux données
    Réponses: 1
    Dernier message: 20/01/2013, 11h20
  2. Réponses: 1
    Dernier message: 19/02/2011, 20h03
  3. Commande d'exécution d'un fichier sql
    Par fichiertempo dans le forum Shell et commandes GNU
    Réponses: 3
    Dernier message: 23/07/2007, 10h55

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