Foros del Web » Programando para Internet » PHP »

Ayuda con la conexion a ORACLE con php

Estas en el tema de Ayuda con la conexion a ORACLE con php en el foro de PHP en Foros del Web. Tengo 2 páginas que requieren conexión a ORACLE, la primera funciona super, en la segunda y con el mismo código, no funca. ALguíen me puede ...
  #1 (permalink)  
Antiguo 30/03/2005, 09:20
 
Fecha de Ingreso: enero-2005
Mensajes: 5
Antigüedad: 19 años, 2 meses
Puntos: 0
Ayuda con la conexion a ORACLE con php

Tengo 2 páginas que requieren conexión a ORACLE, la primera funciona super, en la segunda y con el mismo código, no funca.
ALguíen me puede ayudar??
Existen distintos tipos de conexión??
  #2 (permalink)  
Antiguo 30/03/2005, 09:57
O_O
 
Fecha de Ingreso: enero-2002
Ubicación: Santiago - Chile
Mensajes: 34.417
Antigüedad: 22 años, 3 meses
Puntos: 129
Recuerda que no somos adivinos .. así que si colocas el código que usas y detallas eso de "no funca" con algún mensaje de error que obtengas .. o que es lo que no hace que debería hacer .. sería lo ideal.

Cita:
Existen distintos tipos de conexión??
Si no concretas mejor .. En principio (de lo que yo entendí) sí, .. tienes las conexiones no persistentes y las persistentes.

Un saludo,
  #3 (permalink)  
Antiguo 30/03/2005, 10:28
 
Fecha de Ingreso: enero-2005
Mensajes: 5
Antigüedad: 19 años, 2 meses
Puntos: 0
una codigo de ejemplo de mi problema


//EL SIGUIENTE CÓDIGO ESTÁ EN muestra_datos.php
////////////////////////
putenv(
"ORACLE_SID=gest");
$username = "mjadrian";

$passwd = "mjadrian";

$db="(DESCRIPTION=

(ADDRESS_LIST=

(ADDRESS=(PROTOCOL=TCP)

(HOST=192.1.1.36)(PORT=1521)

)

)

(CONNECT_DATA=(SID=gest))

)"
;

$conn=OCILogon($username,$passwd,$db);



IF(!
$conn){//ORA-12500



$err=OCIError();



if(
$err["code"]=="12500"){

echo
"En estos momento no podemos antender su consulta";

}



}else{

$consulta_dir
= "SELECT * FROM ADMAFIL.AF_AFILIADOS WHERE RUT_AFI LIKE '$Rut_afiliado'";



$stam_direccion = OCIParse($conn,$consulta_dir);

OCIExecute(
$stam_direccion,OCI_DEFAULT);

while (OCIFetch(
$stam_direccion)){



$dir= strtoupper(OCIResult($stam_direccion,"DIRECC_AFI"));

}

///////////////////////////////////////////////////
/////////////////////////////////////////////////
PERO CUANDO PONGO EL MISMO CODIGO EN
consulta_afiliado.php
no muestra nada

  #4 (permalink)  
Antiguo 30/03/2005, 10:29
 
Fecha de Ingreso: enero-2005
Mensajes: 5
Antigüedad: 19 años, 2 meses
Puntos: 0
espero que me puedan ayudar, ya que nose que hacer para que mi conexión funcione. ya que esta funciona para una sola página y para ninguna más.
  #5 (permalink)  
Antiguo 30/03/2005, 10:51
O_O
 
Fecha de Ingreso: enero-2002
Ubicación: Santiago - Chile
Mensajes: 34.417
Antigüedad: 22 años, 3 meses
Puntos: 129
* Pero seguro que es todo ese código que presentas el mismo que usas en muestra_datos.php y consulta_afiliado.php?

* No hay ningún mensaje de error? .. (si es así .. indicalo textualmente)

* De donde sale: $Rut_afiliado .. llega de algún formulario o link de otro script? ..

Un saludo,

PD: el código que presentes . .se vé mejor si usas el botón "PHP" .. queda coloreado y bastante legible. Usalo.
  #6 (permalink)  
Antiguo 30/03/2005, 12:30
 
Fecha de Ingreso: enero-2005
Mensajes: 5
Antigüedad: 19 años, 2 meses
Puntos: 0
no, no sale ningún mensage de error, pero creo temo que el error este en mi código y más bien en la variable, voy a verificar los espacios en blanco.
Gracias
  #7 (permalink)  
Antiguo 30/03/2005, 14:12
 
Fecha de Ingreso: julio-2002
Ubicación: Rancagua - Chile
Mensajes: 494
Antigüedad: 21 años, 9 meses
Puntos: 0
Hola:
Esta funcion he utilizado para trabajar con Oracle
Código PHP:
function conectar_oracle($user$pass){
        
putenv("ORACLE_SID=ORACLE");
         
putenv("ORACLE_HOME=/home/oracle");        
        
$cn ora_logon($user,$pass);
        return 
$cn;
}
function 
conectar_pymesred(){
    
$c=conectar_oracle("pymesred@rmdy""pym2004");
    return 
$c;
}
function 
desconectar_oracle($cn){
        
ora_logoff($cn);

Y aca un ejemplo de como la utilizo :
Código PHP:
$cn conectar_pymesred();
    
$sql "select * from pym_proveedor where pv_nombre like '".$_POST["txtbusca"]."%' and pv_estado='1'";
    
$sql strtoupper($sql);
    
$lst_proveedor select_data($cn$sql, &$filas, &$columnas);
    
desconectar_oracle($cn); 
Y aca la funcion que te retorna las filas y columnas de una consulta SQL
Código PHP:
function select_data($conn$strsql, &$max_filas, &$max_columnas){
        
$cursor ora_open($conn);
        
ora_parse($cursor$strsql);
        
ora_exec($cursor);
        
$nrows=0;
        while(
ora_fetch($cursor)){
            
$ncols ora_numcols($cursor);
            
$nrows++;
            
/*se llena el arreglo por columnas*/
            
for ($aux_j=0$aux_j<$ncols;$aux_j++){
                   
$arreglo_datos[$nrows-1][$aux_j]=ora_getcolumn($cursor$aux_j);
            }
        }
        
ora_close($cursor);
        
$max_columnas =$ncols;
        
$max_filas $nrows
        return 
$arreglo_datos;      

Espero te sirva.

Salu2 !!!
__________________
AK.T.I.V.E.tm Live, Never DIE
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 22:42.