Foros del Web » Programando para Internet » PHP »

Problema para conectar a servidor oracle remoto con php

Estas en el tema de Problema para conectar a servidor oracle remoto con php en el foro de PHP en Foros del Web. Hola a todos, Tengo el siguiente problema, e estado buscando en el foro pero nada que me de respuesta, ademas de que el buscador parece ...
  #1 (permalink)  
Antiguo 03/08/2011, 10:07
 
Fecha de Ingreso: junio-2010
Mensajes: 10
Antigüedad: 13 años, 9 meses
Puntos: 0
Exclamación Problema para conectar a servidor oracle remoto con php

Hola a todos, Tengo el siguiente problema, e estado buscando en el foro pero nada que me de respuesta, ademas de que el buscador parece que no funciona muy bien,

Estoy conectandome desde PHP en un pc con Win 7 y Apache 2.2 a un servidor Linux remoto con oracle 10g, tengo instalado en mi equipo el cliente oracle por el cual hago consultas a dicho servidor por PL/SQL sin niun problema. pero a la hora de conectarme con php y traer dichos datos me arroja un problema de que no existe las tablas.

Cita:
Warning: ociexecute() [function.ociexecute]: ORA-00942: la tabla o vista no existe in C:\xampp\htdocs\rech\clases\db_alfa.php on line 32
Código PHP:
Ver original
  1. // datos conexion oracle
  2. @define(ora_host,'ip_remota');
  3. @define(ora_user,'userdb');
  4. @define(ora_pass,'passdb');
  5. @define(ora_db,'sysweb');
  6. @define(ora_port,'1521');
  7. @define(ora_tns,'(DESCRIPTION = (ADDRESS_LIST = (ADDRESS = (PROTOCOL = TCP)(HOST = '.ora_host.')(PORT = '.ora_port.')) ) (CONNECT_DATA = (SERVICE_NAME = '.ora_db.') ))');
  8.  
  9. function fnConecta(){
  10.     $this->conn = ocilogon(ora_user,ora_pass,ora_tns);
  11.     if ( !$this->conn )
  12.         {return false;}
  13.     else
  14.         {return true;}
  15. }
  16.  
  17. function fnQuery($query){
  18.     $res='';
  19.     $this->fnConecta();
  20.     $res = ociparse($this->conn,$query);
  21.     ociexecute($res,OCI_DEFAULT);
  22.     if ($res==false)
  23.         {return false;}
  24.     else
  25.         {return $res;}
  26. }
  27.  
  28. function fnFetchArray($res){
  29.     $data=oci_fetch_array($res, OCI_BOTH);
  30.     return $data;
  31. }

Obviamente las tablas y nombres de campos existen, ademas de que tengo la extension del oci en el php.ini listo, creo que es un problema en la conexion pero no se como solucionarlo, utilice las mismas funciones pero para consultar a una base de datos que tengo en localhost y funciona sin problemas. Tengo este problema solo cuando es remoto y por php ya que por PL/SQL no tengo problemas para preguntar.

Si alguien me puede dar alguna orientacion o en que topic esta solucionado por que no pude encontrar nada que me ayudara.

Saludos
Anachin

Última edición por Nachozarate; 03/08/2011 a las 10:16
  #2 (permalink)  
Antiguo 03/08/2011, 10:44
Avatar de pateketrueke
Modernizr
 
Fecha de Ingreso: abril-2008
Ubicación: Mexihco-Tenochtitlan
Mensajes: 26.399
Antigüedad: 16 años
Puntos: 2534
Respuesta: Problema para conectar a servidor oracle remoto con php

Obviamente en el código que muestras no hay error, y es claro el mensaje que recibes.

¿Será que en algún otro lugar estas ejecutando las consultas?
__________________
Y U NO RTFM? щ(ºдºщ)

No atiendo por MP nada que no sea personal.
  #3 (permalink)  
Antiguo 03/08/2011, 10:49
 
Fecha de Ingreso: junio-2010
Mensajes: 10
Antigüedad: 13 años, 9 meses
Puntos: 0
Respuesta: Problema para conectar a servidor oracle remoto con php

Desde ahi la llamo, y hace uso de la clase que postie mas arriba...
Código PHP:
include 'clases/db_clase.php';

$Clase = new Dbclase;

$conGC="select rut, nficha from pacientes";

$conGC=strtoupper($conGC);


$res=$Clase->fnQuery($conGC);

while(
$row=$Clase->fnFetchArray($res)){
    echo 
$row['rut'].' '.$row['nficha'].'<br>'

  #4 (permalink)  
Antiguo 03/08/2011, 10:59
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: Problema para conectar a servidor oracle remoto con php

Muchas veces en oracle tienes que anteponer el owner del objeto, por ejemplo si el owner es db1, tendrias que hacer un:
Código SQL:
Ver original
  1. SELECT rut, nficha FROM db1.pacientes

Si no te indica un error de que no existe la tabla.

Saludos.
  #5 (permalink)  
Antiguo 03/08/2011, 12:33
 
Fecha de Ingreso: junio-2010
Mensajes: 10
Antigüedad: 13 años, 9 meses
Puntos: 0
Respuesta: Problema para conectar a servidor oracle remoto con php

Cita:
Iniciado por GatorV Ver Mensaje
Muchas veces en oracle tienes que anteponer el owner del objeto, por ejemplo si el owner es db1, tendrias que hacer un:
Código SQL:
Ver original
  1. SELECT rut, nficha FROM db1.pacientes

Si no te indica un error de que no existe la tabla.

Saludos.

No funka
  #6 (permalink)  
Antiguo 03/08/2011, 14:18
 
Fecha de Ingreso: junio-2010
Mensajes: 10
Antigüedad: 13 años, 9 meses
Puntos: 0
Respuesta: Problema para conectar a servidor oracle remoto con php

Arreglado... el como esta explicado mas arriba funciona perfecto, era un problema de que estaba desclarando una variable global con el mismo nombre que la clase por eso chocaban y se generaba el conflicto, pero solucionado! ;)

Etiquetas: conexion, oracle
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 19:55.