Ver Mensaje Individual
  #4 (permalink)  
Antiguo 31/10/2003, 12:08
pedriphp
 
Fecha de Ingreso: octubre-2003
Mensajes: 9
Antigüedad: 20 años, 6 meses
Puntos: 0
por lo que he podido comprobar, con OCIPLogon(), aparentemente la conexión es Persistente SIN necesidad de guardarla en una sesión o cookie, ni envío como parámetro!!!

simplemente para esa sesión web (no de navegador ya que se mantiene aún cerrando el navegador), se mantiene de forma transparente la conexión, pero curiosamente para cada llamada, se utiliza la sintaxis:

$conn = OCIPLogon ("xxx", "xxx", "xxx");

yo creía que había que identificar esta conexión de algún modo para reutilizarla y por lo visto es inherente a la llamada con OCIPLogon()

Otro tema ahora es tener en cuenta que aunque se cierre el navegador persistirá la conexión (y si hay 10 usuarios persistirán 10 conexiones, por ejemplo), hasta que se reinicie el servidor web (apache), con el consiguiente peligro de que se puede llegar al nº máximo de conexiones permitidas con el consiguiente bloqueo de servidor web y/o BD.

Soluciones:

- reinicio de apache cada X tiempo (nada elegante)
- proveer en el código un link que ejecute un OCILogoff (no asegura el no llegar al límite de conexiones, según la solidaridad del usuario)
- matar sesiones desde oracle, al X tiempo de inactividad (solución casi ideal, aunque no la he probado)