Bonjour,

dans mon programme Java j'essaie d'exécuter un SQL avec un PreparedStatement:
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
 
SELECT DISTINCT A0.REV_ID,A0._ID,A0.VALID_FROM as ojb_col_3 FROM 
QUESTIONNAIRE_REV A0 INNER JOIN QUESTIONNAIRE A1 ON A0.QU_ID=A1.QU_ID 
LEFT OUTER JOIN QUESTIONNAIRE A2 ON A1.QU_ID=A2.QU_ID LEFT OUTER JOIN 
TMP_USER_ORG_UNIT J0 ON A0.ADM_ORG_UNIT_ID=J0.ORG_UNIT_ID AND ( (J0.USER_ID = 6789) AND J0.OP_ID = 446524671 )  
LEFT OUTER JOIN TMP_USER_ORG_UNIT J1 ON A0.ADM_ORG_UNIT_ID=J1.ORG_UNIT_ID AND ( (J1.USER_ID = 6789) AND J1.OP_ID = 446524671 )  
LEFT OUTER JOIN TMP_USER_ORG_UNIT J2 ON A0.ADM_ORG_UNIT_ID=J2.ORG_UNIT_ID AND ( (J2.USER_ID = 6789) AND J2.OP_ID = 376546535 )  
LEFT OUTER JOIN TMP_USER_ORG_UNIT J3 ON A0.ADM_ORG_UNIT_ID=J3.ORG_UNIT_ID AND ( (J3.USER_ID = 6789) AND J3.OP_ID = 376546535 )  
LEFT OUTER JOIN TMP_USER_ORG_UNIT J4 ON A0.ADM_ORG_UNIT_ID=J4.ORG_UNIT_ID AND ( (J4.USER_ID = 6789) AND J4.OP_ID = 1491988976 ) 
 LEFT OUTER JOIN TMP_USER_ORG_UNIT J5 ON A0.ADM_ORG_UNIT_ID=J5.ORG_UNIT_ID AND ( (J5.USER_ID = 6789) AND J5.OP_ID = 1491988976 )  
 LEFT OUTER JOIN TMP_USER_ORG_UNIT J6 ON A0.ADM_ORG_UNIT_ID=J6.ORG_UNIT_ID AND ( (J6.USER_ID = 6789) AND J6.OP_ID = -628128861 )  
 LEFT OUTER JOIN TMP_USER_ORG_UNIT J7 ON A0.ADM_ORG_UNIT_ID=J7.ORG_UNIT_ID AND ( (J7.USER_ID = 6789) AND J7.OP_ID = -628128861 )  
 LEFT OUTER JOIN TMP_USER_ORG_UNIT J8 ON A0.ADM_ORG_UNIT_ID=J8.ORG_UNIT_ID AND ( (J8.USER_ID = 6789) AND J8.OP_ID = 789957100 )  
 LEFT OUTER JOIN TMP_USER_ORG_UNIT J9 ON A0.ADM_ORG_UNIT_ID=J9.ORG_UNIT_ID AND ( (J9.USER_ID = 6789) AND J9.OP_ID = 789957100 )  
 LEFT OUTER JOIN TMP_USER_ORG_UNIT J10 ON A0.ADM_ORG_UNIT_ID=J10.ORG_UNIT_ID AND ( (J10.USER_ID = 6789) AND J10.OP_ID = -785639575 )  
 LEFT OUTER JOIN TMP_USER_ORG_UNIT J11 ON A0.ADM_ORG_UNIT_ID=J11.ORG_UNIT_ID AND ( (J1.USER_ID = 6789) AND J1.OP_ID = -7856395751 )  
 WHERE ( A0.STATUS = 10 OR  (A0.STATUS = 20) OR  (A0.STATUS = 50) OR  (A0.STATUS = 100) OR  (A0.STATUS = 200) OR  (A0.STATUS = 300)) AND  
 (( ( A0.VALID_FROM <= 1383951599999) AND  (A0.VALID_TO > 1383951599999 OR  (A0.VALID_TO IS NULL ))) AND  (( ( A1.ASSIGNED_EDIT_USER_ID = 6789) AND  
 (A0.STATUS = 20 OR  (A0.STATUS = 50) OR  (A0.STATUS = 200)) OR  (( A1.ASSIGNED_CONFIRM_USER_ID = 6789) AND  (A0.STATUS = 100)) OR  (( ( (J0.USER_ID = 6789) 
 AND J0.OP_ID = 446524671 OR  (((J1.USER_ID = 6789) AND J1.OP_ID = 446524671) AND A2._QA_CATEGORY_ID = 15)) AND  (A0.STATUS = 300) OR  (( (J2.USER_ID = 6789) 
 AND J2.OP_ID = 376546535 OR  (((J3.USER_ID = 6789) AND J3.OP_ID = 376546535) AND A2._QA_CATEGORY_ID = 15)) AND  (A0.STATUS = 50 OR  (A0.STATUS = 20) OR  
 (A0.STATUS = 200))) OR  (( (J4.USER_ID = 6789) AND J4.OP_ID = 1491988976 OR  (((J5.USER_ID = 6789) AND J5.OP_ID = 1491988976) AND A2._QA_CATEGORY_ID = 15)) AND  
 (A0.STATUS = 50 OR  (A0.STATUS = 100) OR  (A0.STATUS = 20) OR  (A0.STATUS = 200) OR  (A0.STATUS = 10))) OR  (( (J6.USER_ID = 6789) AND J6.OP_ID = -628128861 OR  
 (((J7.USER_ID = 6789) AND J7.OP_ID = -628128861) AND A2._QA_CATEGORY_ID = 15)) AND  (A0.STATUS = 50 OR  (A0.STATUS = 100) OR  (A0.STATUS = 20) OR  (A0.STATUS = 200) OR 
 (A0.STATUS = 10))) OR  (( (J8.USER_ID = 6789) AND J8.OP_ID = 789957100 OR  (((J9.USER_ID = 6789) AND J9.OP_ID = 789957100) AND A2._QA_CATEGORY_ID = 15)) AND  (A0.STATUS = 300)) OR  
 (( (J10.USER_ID = 6789) AND J10.OP_ID = -785639575 OR  (((J11.USER_ID = 6789) AND J11.OP_ID = -785639575) AND A2._QA_CATEGORY_ID = 15)) AND  (A0.STATUS = 100))) AND  
 (A2.ADM_USER_GROUP_ID IN  (SELECT B0.ADM_USER_GROUP_ID FROM ADM_USER_GROUP B0 INNER JOIN ADM_USER_GROUP_USER B1 ON B0.ADM_USER_GROUP_ID=B1.ADM_USER_GROUP_ID WHERE B1.ADM_USER_ID = 6789)  
OR  (A2.ADM_USER_GROUP_ID IS NULL )))) AND  (A0.ADM_USER_ID <> 6789 OR  (A0.STATUS <> 100)))) ORDER BY 3
Si jexecute le SQL direckt a travert java, j'obtiens toujours lerreur:
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
 
ORA-00907: missing right parenthesis
Parcontre si jexecute le meme SQL dierect sur la console Oracle, jai aucune erreurs.
Je ne comprends pas bien de quoi il sagit, merci pour vos reponces.
Soulman