sql >> Base de Datos >  >> RDS >> Oracle

Java 1.6 y Oracle JDBC 14 setQueryTimeout no funcionan

Vea cómo funciona el tiempo de espera de consulta en el controlador JDBC de Oracle aquí:https://forums. oracle.com/forums/thread.jspa?threadID=550257

En pocas palabras:

  1. Se necesita un viaje completo de ida y vuelta a la base de datos para cancelar la ejecución de SQL cuando expira el tiempo de espera. La base de datos se encargará de procesar la solicitud de cancelación cuando lo desee.
  2. El mecanismo de tiempo de espera del controlador no es un mecanismo de alta precisión. Dado que cancelar la ejecución requiere hablar con la base de datos a través de la red, no tiene sentido hacer que el controlador sea súper preciso. Incluso si el controlador fuera preciso, los retrasos de la red y el tiempo requerido para que la base de datos responda a la solicitud de cancelación anularían la precisión del controlador. Entonces, el tiempo de espera es la cantidad MÍNIMA de tiempo que el controlador le dará al SQL para que se ejecute antes de enviar una cancelación al servidor.