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) :
Voici le .SQL que j'obtiens :
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
Et voici l'erreur 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;
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 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
D'ou proviens cette erreur de SYNTAX ?
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
Merci d'aider un newbie en MySQL![]()
Partager