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:
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:
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:
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:
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 8O