Foros del Web » Programando para Internet » PHP »

Ayuda para cerrar las conexiones PHP-Oracle

Estas en el tema de Ayuda para cerrar las conexiones PHP-Oracle en el foro de PHP en Foros del Web. Buenas Tardes, Llevo tiempo intentado cerrar las conexiones que se hacen a mi base de datos Oracle desde una aplicacion hecha en PHP4, lo que ...
  #1 (permalink)  
Antiguo 07/11/2008, 11:59
 
Fecha de Ingreso: julio-2008
Ubicación: Bogota
Mensajes: 59
Antigüedad: 15 años, 9 meses
Puntos: 1
Ayuda para cerrar las conexiones PHP-Oracle

Buenas Tardes,

Llevo tiempo intentado cerrar las conexiones que se hacen a mi base de datos Oracle desde una aplicacion hecha en PHP4, lo que me genera que la Base de datos se sature de conexiones INACTIVAS, lo que genera que se realice un proceso manual para cerrarlas.

he estado modificando el codigo para eliminar las conexiones permanentes, pues crei que esa era la solucion, pero aun sigo con conexiones INACTIVAS aun despues de haber hecho el cierre del Cursor (ORA_CLOSE) y de la conexion (ORA_LOGOFF).


No puedo migrar la aplicacion a PHP5, por que esta en Produccion, y debo antes solucionar el problema de las sesiones, con el fin de que me quede tiempo para hacerla migracion.

rutina conexion
Código PHP:
function ConectarBD(&$Link$user="")
    {
//        echo $ConsultaDB .'<br>';
        
putenv("NLS_LANG=AMERICAN_AMERICA.WE8ISO8859P1"); 

        
// parametros de Conexion
        
if ($user<>"")
        {
            
$UsuarioDB=($UsuarioGeneridoDB]);
            
$ContrasenaDB= ($ClaveUser);
            
$DB='Nombre BD';
        }
        else
        {
            
$UsuarioDB='xxxxx';
            
$ContrasenaDB='xxxxxxxx';
            
$DB='Nombre BD';
        }

        
$Link ora_logon($UsuarioDB.'@'.$DB$ContrasenaDB) or die ('error'.ora_error());
    } 

Rutina de Insercion en DB

Código PHP:




    
function EscribirDB($Link$Query)
    {
        
putenv("NLS_LANG=AMERICAN_AMERICA.WE8ISO8859P1"); 

//        Envio de Query
        
$Cursor ora_open($Link) or die ('Could not connect.'.ora_error());
        
$v_parse ora_parse($Cursor$Query);// or die ('select '.ora_error());
        
$v_execute ora_exec($Cursor);// or die ('Execution not made.'.ora_error());

//    SE VERIFICAN SO HUBO ERRORES EN LA CONEXION

        
if (!$v_parse or !$v_execute)
        {
            if (!
$v_parse)
            {
                
$mensaje='select.';
            }
            elseif (!
$v_execute)
            {
                
$mensaje='Execution not made';
            }

            
$e ora_error();
            echo 
htmlentities($e['message']);
            
ora_close($Cursor);
            return (
FALSE);
            die();
        }

        
ora_close($Cursor);
        
ora_logoff($Link);
        return (
TRUE);
    } 
  #2 (permalink)  
Antiguo 07/11/2008, 12:26
Avatar de GatorV
$this->role('moderador');
 
Fecha de Ingreso: mayo-2006
Ubicación: /home/ams/
Mensajes: 38.567
Antigüedad: 17 años, 11 meses
Puntos: 2135
Respuesta: Ayuda para cerrar las conexiones PHP-Oracle

Mmm que libreria de oracle estas usando?? Porque no encuentro esas funciones, la mas cercana es OCILogoff.

Saludos.
  #3 (permalink)  
Antiguo 07/11/2008, 13:40
 
Fecha de Ingreso: julio-2008
Ubicación: Bogota
Mensajes: 59
Antigüedad: 15 años, 9 meses
Puntos: 1
Respuesta: Ayuda para cerrar las conexiones PHP-Oracle

hola estamos utilizando las librerias tipo ora que funcionan en php v4

por que en php v 5 cambian

graciasss
  #4 (permalink)  
Antiguo 07/11/2008, 13:46
 
Fecha de Ingreso: julio-2008
Ubicación: Bogota
Mensajes: 59
Antigüedad: 15 años, 9 meses
Puntos: 1
Respuesta: Ayuda para cerrar las conexiones PHP-Oracle

ya encontre el error muchas gracias gatorv tu como siempre ayudando

cualquier otro inconveniente te preguntare
  #5 (permalink)  
Antiguo 19/11/2008, 11:05
 
Fecha de Ingreso: julio-2006
Mensajes: 7
Antigüedad: 17 años, 9 meses
Puntos: 0
Respuesta: Ayuda para cerrar las conexiones PHP-Oracle

Buenas

Podrias indicar donde estaba el error, porque a mi me pasa lo mismo o como conseguiste cerrar estas sesiones.

Saludos
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 17:47.