我们在 SAP Netweaver 中部署了一个 Java Web 应用程序,它通过普通 JDBC 访问 Oracle 10g 数据库。该应用程序运行良好,直到几天前,查询导致以下错误:
ORA-01843: not a valid month
给我们带来麻烦的查询是这样的:
SELECT *
FROM (SELECT *
FROM (SELECT inspeccion.sociedad_id,
inspeccion_id,
estado_id,
(SELECT des_estado
FROM estado
WHERE estado.estado_id = inspeccion.estado_id)
des_estado,
(SELECT numero_secuencia
FROM estado
WHERE estado.estado_id = inspeccion.estado_id)
numero_secuencia,
planta_id,
(SELECT des_planta
FROM planta
WHERE planta.planta_id = inspeccion.planta_id)
des_planta,
area_id,
(SELECT des_area
FROM area
WHERE area.area_id = inspeccion.area_id) des_area
,
igp_id,
'-'
nom_lider,
nom_inspector,
nom_responsable,
To_char(fecha_inspeccion, 'DD/MM/YYYY')
fecha_inspeccion,
observacion,
recomendacion
FROM inspeccion) inspeccion) t_inspeccion
WHERE estado_id NOT IN ( 10 )
AND t_inspeccion.estado_id IN ( 11, 12 )
AND t_inspeccion.planta_id = 42
AND t_inspeccion.fecha_inspeccion >= To_date('01/11/2010', 'dd/mm/yyyy')
AND t_inspeccion.sociedad_id = '0101'
ORDER BY t_inspeccion.numero_secuencia,
t_inspeccion.fecha_inspeccion
我们怀疑该To_date('01/11/2010', 'dd/mm/yyyy')
语句,但是当我们通过 DBVisualizer 运行查询时,我们一点问题都没有。
我有点迷失在这里。也许有一个数据库设置与查询混淆,或者一些 SAP Netweaver 配置?或者可能是一些 Oracle 驱动程序问题?