Si usó Oracle, probablemente haya recibido el mensaje útil "ORA-00942: la tabla o vista no existe". ¿Existe una razón técnica legítima por la cual el mensaje no incluye el nombre del objeto faltante?¿Por qué Oracle no te dice CUÁL tabla o vista no existe?
Los argumentos acerca de este ser debido a la seguridad de sonido como si estuvieran hechos a mano por la TSA. Si soy un atacante, sabría qué tabla intenté explotar y podría interpretar fácilmente este mensaje inútil. Si soy un desarrollador que trabaja con una unión compleja a través de varias capas de código de aplicación, a menudo es muy difícil de decir.
Mi conjetura es que cuando se implementó originalmente este error, alguien se olvidó de añadir el nombre del objeto, y ahora, la gente tiene miedo que se rompa la compatibilidad para solucionarlo. (El código haciendo cosas tontas como analizar el mensaje de error se confundirá si cambia).
¿Existe alguna forma amigable para el desarrollador (en lugar de reclutar a su DBA) para determinar el nombre de la tabla faltante?
Aunque he aceptado una respuesta que es relevante para el tema, que en realidad no responde a mi pregunta: ¿Por qué no es la parte del nombre del mensaje de error? Si alguien puede encontrar la respuesta real, me complacerá cambiar mi voto.
Imagino que tendría que pedirle a un ingeniero de Oracle real que obtenga la respuesta real. Por cierto, yo trabajo para Sybase, y nuestro servidor (SQL Anywhere) te da "Tabla 'blah' no encontrada". –
Puede deberse a un reflejo de no divulgación;): [enlace] (http://www.cloudave.com/13729/amazon-google-facebook-microsoft-apple-and-oracle-org-chart/) –
Bueno, estoy totalmente de acuerdo con el póster. Me ha costado horas tratar de encontrar problemas de desarrollo porque oráculo se niega a decir qué tabla no existía. ¿Y seguridad? ¡Aún puede optar por NO pasarle al cliente el mensaje de error detallado que NUNCA suele hacer! Normalmente me parece que el software de Oracle es muy malo cuando se trata de pensar un poco más allá de lo obvio ... – Lawrence