Bonjour,

Je dois lancer la même requête SQL pour plusieurs variables.
J'ai donc créer un fichier de parametre : param.txt

Contenu de param.txt
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
Valeur1;
Valeur2 mais contenant des espaces;
valeur3 pouvant aussi contenir des espaces

Mon batch est le suivant

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
 
FOR /F "tokens=1 delims=;" %%i IN (param.txt DO @sqlplus user/pwd@base @GetData.sql ; Result_%%i.csv %%i
Le contenu de GetData.sql est
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
 
WHENEVER SQLERROR EXIT 1
WHENEVER OSERROR EXIT 2
SET TERMOUT OFF
SET SPACE 0
SET LINES 300
SET PAGES 0
SET ECHO OFF
SET FEEDBACK OFF
SET HEADING OFF
SET TRIMSPOOL ON
SET VERIFY OFF
SET DEFINE OFF
 
spool &2
 
PROMPT "Applet"&1"Applet"&1"Item No"&1"Visibility Applet"&1
 
select 			webitem.applet_name
       ||'&1'|| v.NAME
       ||'&1'|| webitem.ITEM_NUM
       ||'&1'|| webitem.APPLET_VIS_TYPE
       ||'&1'
from S_VIEW_WTMPL_IT webitem
	, S_VIEW_WEB_TMPL web
	, S_VIEW v
	, S_REPOSITORY rep
where rep.name = 'Siebel Repository'
	and rep.row_id = v.repository_id
	and webitem.VIEW_WEB_TMPL_ID = web.row_id
	and web.view_id = v.row_id
	and webitem.INACTIVE_FLG = 'N'
	and web.INACTIVE_FLG = 'N'
	and v.INACTIVE_FLG = 'N'
	and webitem.applet_name = '&3'
 
/
 
spool off
/
exit;
Forcément cela plante pour la valeur : Valeur2 mais contenant des espaces

Auriez vous une idée comment passer le paramètre contenant des espaces ?
Ou bien existe un moyen d'utiliser une variable d'environnement dans SQLPLUS ?

D'avance merci pour votre aide.

Uyên Minh