ORA-00911 Invalid Character

Résolu/Fermé
xav3601 Messages postés 3288 Date d'inscription lundi 10 novembre 2008 Statut Membre Dernière intervention 2 mars 2016 - 15 mars 2010 à 10:07
anadeveloppeur Messages postés 153 Date d'inscription samedi 10 septembre 2005 Statut Membre Dernière intervention 21 février 2019 - 21 févr. 2019 à 12:02
Bonjour,

Lorsque j'execute ma requète je recois une erreur du type invalid character, mais il ne me signale pas la ligne de cette erreur...
Ma requète faisant plus de 100 lignes je suis en galère...
Quelqu'un à une solution pour avoir le numéro de ligne de l'erreur?

A savoir que sous SQL developper si je lance la requete elle me donne le bon résultat, mais si je la lance en mode "Executer le plan d'execution" la elle plante...

Je travaille avec SQL developper et voilà la requete:

SELECT NULL AS CODEFILS, NULL AS CODEEXTERNEFILS, CODEPERE, CODE_GP, CODE_DPT, CODEEXTERNEPERE,MONTANT,LIBELLE from
(SELECT ROWNUM as RNUM, CODEPERE, CODE_GP, CODE_DPT, CODEEXTERNEPERE,MONTANT,LIBELLE from
(SELECT nmc_ue_cdnmccmr AS CODEPERE,
nmc_gp_cdnmccmr AS CODE_GP,
nmc_dpt_cdnmccmr AS CODE_DPT,
nmc_ue_cdextnmccmr AS CODEEXTERNEPERE,
sum(mvc.montant) as MONTANT,
nmc_ue_lbnmccmr AS LIBELLE
FROM
( SELECT nmc_dpt.cdresdis nmc_dpt_cdresdis,
nmc_fam.cdnmccmr nmc_fam_cdnmccmr,
nmc_ue.cdstrnmccmr nmc_ue_cdstrnmccmr,
nmc_ue.cdextnmccmr nmc_ue_cdextnmccmr,
nmc_gp.cdextnmccmr nmc_gp_cdextnmccmr,
nmc_dpt.cdextnmccmr nmc_dpt_cdextnmccmr,
nmc_gp.cdnmccmr nmc_gp_cdnmccmr,
nmc_dpt.cdnmccmr nmc_dpt_cdnmccmr,
nmc_ue.lbnmccmr nmc_ue_lbnmccmr,
nmc_ue.cdnmccmr nmc_ue_cdnmccmr
FROM rgxtnmc nmc_mag
INNER JOIN rgxthnm hnm_mag_dpt
ON hnm_mag_dpt.cdnmccmrfll =nmc_mag.cdnmccmr
AND((hnm_mag_dpt.dtfinlienmc IS NOT NULL
AND TO_TIMESTAMP('08/01/2010','dd/MM/yyyy') BETWEEN hnm_mag_dpt.dtdeblienmc AND hnm_mag_dpt.dtfinlienmc)
OR (hnm_mag_dpt.dtfinlienmc IS NULL
AND TO_TIMESTAMP('08/01/2010','dd/MM/yyyy') >=hnm_mag_dpt.dtdeblienmc))
INNER JOIN rgxtnmc nmc_dpt
ON nmc_dpt.cdnmccmr =hnm_mag_dpt.cdnmccmr
AND nmc_dpt.cdresdis = 8
AND((nmc_dpt.dtfinacvnmc IS NULL
OR (nmc_dpt.dtfinacvnmc >=TO_TIMESTAMP('08/01/2010','dd/MM/yyyy')))
AND (nmc_dpt.dtdebacvnmc <=TO_TIMESTAMP('08/01/2010','dd/MM/yyyy')))
INNER JOIN rgxthnm hnm_dpt_gp
ON hnm_dpt_gp.cdnmccmrfll =nmc_dpt.cdnmccmr
AND((hnm_dpt_gp.dtfinlienmc IS NOT NULL
AND TO_TIMESTAMP('08/01/2010','dd/MM/yyyy') BETWEEN hnm_dpt_gp.dtdeblienmc AND hnm_dpt_gp.dtfinlienmc)
OR(hnm_dpt_gp.dtfinlienmc IS NULL
AND TO_TIMESTAMP('08/01/2010','dd/MM/yyyy') >= hnm_dpt_gp.dtdeblienmc))
INNER JOIN rgxtnmc nmc_gp
ON nmc_gp.cdnmccmr =hnm_dpt_gp.cdnmccmr
AND ((nmc_gp.dtfinacvnmc IS NULL
OR (nmc_gp.dtfinacvnmc >= TO_TIMESTAMP('08/01/2010','dd/MM/yyyy')))
AND (nmc_gp.dtdebacvnmc <=TO_TIMESTAMP('08/01/2010','dd/MM/yyyy')))
INNER JOIN rgxthnm hnm_gp_ue
ON hnm_gp_ue.cdnmccmrfll =nmc_gp.cdnmccmr
AND ((hnm_gp_ue.dtfinlienmc IS NOT NULL
AND TO_TIMESTAMP('08/01/2010','dd/MM/yyyy') BETWEEN hnm_gp_ue.dtdeblienmc AND hnm_gp_ue.dtfinlienmc)
OR (hnm_gp_ue.dtfinlienmc IS NULL
AND TO_TIMESTAMP('08/01/2010','dd/MM/yyyy') >= hnm_gp_ue.dtdeblienmc))
INNER JOIN rgxtnmc nmc_ue
ON nmc_ue.cdnmccmr =hnm_gp_ue.cdnmccmr
AND nmc_ue.cdstrnmccmr = 2
AND ((nmc_ue.dtfinacvnmc IS NULL
OR (nmc_ue.dtfinacvnmc >=TO_TIMESTAMP('08/01/2010','dd/MM/yyyy')))
AND (nmc_ue.dtdebacvnmc <=TO_TIMESTAMP('08/01/2010','dd/MM/yyyy')))
INNER JOIN rgxthnm hnm_ue_fam
ON hnm_ue_fam.cdnmccmrfll =nmc_ue.cdnmccmr
AND ((hnm_ue_fam.dtfinlienmc IS NOT NULL
AND TO_TIMESTAMP('08/01/2010','dd/MM/yyyy') BETWEEN hnm_ue_fam.dtdeblienmc AND hnm_ue_fam.dtfinlienmc)
OR (hnm_ue_fam.dtfinlienmc IS NULL
AND TO_TIMESTAMP('08/01/2010','dd/MM/yyyy') >= hnm_ue_fam.dtdeblienmc))
INNER JOIN rgxtnmc nmc_fam
ON nmc_fam.cdnmccmr =hnm_ue_fam.cdnmccmr
AND ((nmc_fam.dtfinacvnmc IS NULL
OR (nmc_fam.dtfinacvnmc >=TO_TIMESTAMP('08/01/2010','dd/MM/yyyy')))
AND (nmc_fam.dtdebacvnmc <=TO_TIMESTAMP('08/01/2010','dd/MM/yyyy')))
WHERE NOT EXISTS
(SELECT etn.CDNMCCMR
FROM rgxtetn etn
WHERE ((etn.dtfinlieeat IS NOT NULL
AND TO_TIMESTAMP ('08/01/2010', 'dd/MM/yyyy') BETWEEN etn.dtdebeatnmc AND etn.dtfinlieeat)
OR(etn.dtfinlieeat IS NULL
AND TO_TIMESTAMP ('08/01/2010', 'dd/MM/yyyy') >= etn.dtdebeatnmc))
AND etn.cdeatobjrgx IN (10,12)
AND ( etn.cdnmccmr = nmc_dpt.cdnmccmr
OR etn.cdnmccmr = nmc_gp.cdnmccmr
OR etn.cdnmccmr = nmc_ue.cdnmccmr)
)

) STRUCTURE,
(SELECT mvc.vlmntmvt, mvc.cdnmccmr, mvc.orvalmnt,
(case
when mvc.orvalmnt = 'C' then mvc.vlmntmvt
else -mvc.vlmntmvt
end ) as montant
FROM rgxtmvc mvc
WHERE mvc.cdmagdis = 4264
AND mvc.dtjurcpt = TO_TIMESTAMP ('08/01/2010', 'dd/MM/yyyy')
AND mvc.cdtypmvt IN (100,102,110,111)
) mvc
WHERE STRUCTURE.nmc_fam_cdnmccmr = mvc.cdnmccmr(+)
GROUP BY nmc_ue_cdnmccmr,
nmc_ue_cdextnmccmr,
nmc_ue_lbnmccmr,
nmc_dpt_cdnmccmr,
nmc_dpt_cdextnmccmr,
nmc_gp_cdnmccmr,
nmc_gp_cdextnmccmr
ORDER BY nmc_ue_cdextnmccmr ASC
)
where ROWNUM <= 8)
Where RNUM > 0;


Merci d'avance!
A voir également:

2 réponses

xav3601 Messages postés 3288 Date d'inscription lundi 10 novembre 2008 Statut Membre Dernière intervention 2 mars 2016 311
22 mars 2010 à 09:04
Merci de ton aide!
J'ai trouvé le bug...
Qui est en fait le ';' à la fin qu'il ne faut pas mettre dans le code java, et comme un imbécile je l'avais laissé :)
26
Merci pour l'information
0
OMG merci j'aurais jamais trouvé je savais pas qu'il ne fallait pas de ;
0
anadeveloppeur Messages postés 153 Date d'inscription samedi 10 septembre 2005 Statut Membre Dernière intervention 21 février 2019 9
21 févr. 2019 à 12:02
Merci pour l'info, c'était très utile pour moi !
0