PreparedStatement.executeQuery(): ORA-00907: missing right parenthesis
Bonjour,
dans mon programme Java j'essaie d'exécuter un SQL avec un PreparedStatement:
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
|
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:
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