ORA-00933

Nacho
14 de Abril del 2004
Tengo una siguiente sentencia que es lanzada por una aplicaci贸n contra una bbdd, a trav茅s de odbc 32bits, de un gestor oracle sobre AIX de esta versi贸n:
Oracle8i Enterprise Edition Release 8.1.6.0.0, 64 bit
PL/SQL Release 8.1.6.0.0
CORE 8.1.6.0.0
TNS for IBM/AIX RISC System/6000: Version 8.1.6.0.0 NLSRTL Version 3.4.0.0.0
La sentencia es:
SELECT C.ID_CONCEPTO, C.TIPO_CONCEPTO, N.SALIDA_TOTAL, N.ORDEN_EJECUCION , N.ID_TIPO_ORDEN, C.ID_MOMENTO_EJ, N.ID_TOTAL, C.ID_ACUMULADO,
C.N_ACUMULADO, N.ID_COMP_REVISION, N.ID_CONCEPTO , C.CLAVE_PRIMAR
FROM {oj M4_CONCEPTOS C LEFT OUTER JOIN M4_HIST_NORMAS N ON C.ID_CONCEPTO = N.ID_CONCEPTO}
WHERE ((N.ID_CONCEPTO IS NULL) OR (FEC_INICIO_VALIDEZ <= {d'2002-02-25'} AND (FEC_FIN_VALIDEZ >= {d'2002-02-25'} OR FEC_FIN_VALIDEZ IS NULL)))
ORDER BY C.ID_MOMENTO_EJ, N.ID_TIPO_ORDEN, N.ORDEN_EJECUCION;
Me devuelve el error:
C贸digo: 933
Texto error: HY000 :: [DataDirect][ODBC Oracle driver][Oracle]ORA-00933: SQL command not properly ended
Os rogar铆a que me comentarais algo. Gracias

Rey
14 de Abril del 2004
Compa帽ero...
Oracle interpreta esa sentencia como si estuvieras tratando de hacer un ordenamiento de una Vista, pq hay algo q no entiende

Trata de colocar la sintaxys de esta manera a ver si te sirve
SELECT C.ID_CONCEPTO,
C.TIPO_CONCEPTO,
N.SALIDA_TOTAL,
N.ORDEN_EJECUCION ,
N.ID_TIPO_ORDEN,
C.ID_MOMENTO_EJ,
N.ID_TOTAL,
C.ID_ACUMULADO,
C.N_ACUMULADO,
N.ID_COMP_REVISION,
N.ID_CONCEPTO ,
C.CLAVE_PRIMAR
FROM M4_CONCEPTOS C, M4_HIST_NORMAS N
WHERE C.ID_CONCEPTO = N.ID_CONCEPTO(+)
AND (N.ID_CONCEPTO IS NULL
OR (FEC_INICIO_VALIDEZ <= to_date('2002-02-25',FORMATO Q DESEES)
AND (FEC_FIN_VALIDEZ >= to_date('2002-02-25',FORMATO Q DESEES) OR FEC_FIN_VALIDEZ IS NULL)))
ORDER BY C.ID_MOMENTO_EJ, N.ID_TIPO_ORDEN, N.ORDEN_EJECUCION;

Cualquier cosa me avisas