Foros del Web » Programando para Internet » PHP »

Maldito Oracle . . .

Estas en el tema de Maldito Oracle . . . en el foro de PHP en Foros del Web. Hola, alguna vez he preguntado esto pero no debí explicarme del todo bien ya que no consigo solucionarlo. Vuelvo a intentarlo. Tengo el apache y ...
  #1 (permalink)  
Antiguo 26/05/2004, 11:01
 
Fecha de Ingreso: abril-2004
Ubicación: Madrid
Mensajes: 159
Antigüedad: 13 años, 8 meses
Puntos: 0
Maldito Oracle . . .

Hola, alguna vez he preguntado esto pero no debí explicarme del todo bien ya que no consigo solucionarlo.
Vuelvo a intentarlo.

Tengo el apache y el php en mi win2000 instalado y funcionando de lujo.
tengo el oracle 8i en un sistema unix.

Bueno pues lo que quiero es acceder con el php a la db oracle remota, para ello hice lo siguiente :

En el php.ini habilite la extension OCI :
extension=php_oci8.dll
;extension=php_openssl.dll
;extension=php_oracle.dll

La de oracle no la habilite ya que oci y oracle a la vez parece ke son incompatibles y me da errores en el php, la habilité como pone arriba, el path a las extensiones está bien y la dll existe en el path.

Bien . . .

Por otro lado . .. mi tnsnames está bien configurado ya que el sql plus me va de lujo con el y mis programitas vb y todo, eso está bien.

Despues puse mi codigo php com sigue :

<?php
echo "<br> PRUEBA ACCESO A ORACLE";


putenv('ORACLE_SID=xxx');
putenv('ORACLE_HOME=d:\orahome1');
putenv('TNS_ADMIN=D:\OraHome1\network\ADMIN');

//if (ora_plogon('iri','iri'))
//{
//echo "Se abrio";
//}
if (ocilogon("xxx","xxx","xxx"))
{
echo "<br>Conectó Correctamente";
}
else
{
echo "<br>No conectó";
}

?>


Y al ejecutar me devuelve esto . . .

PRUEBA ACCESO A ORACLE
Warning: ocilogon(): _oci_open_server: Error while trying to retrieve text for error ORA-12538 in c:\apache\apache\htdocs\uno.php on line 13

No conectó



Por más que busco en inet con lo consig, este foro es mi ultima esperanza . . . por favor a ver si alguien puede darme una pista . . . o decirme como hacer que funcione . . .

Gracias yy un saludo
  #2 (permalink)  
Antiguo 26/05/2004, 12:00
O_O
 
Fecha de Ingreso: enero-2002
Ubicación: Santiago - Chile
Mensajes: 34.417
Antigüedad: 15 años, 11 meses
Puntos: 126
Si dices que quieres conectar a una Oracle remota .. tu servidor con PHP debe tener instalado los "clientes" de Oracle para poder funcionar correctamente y luego establecer la conexión a la BD Oracle que gustes ..

Un saludo,
__________________
Por motivos personales ya no puedo estar con Uds. Fue grato haber compartido todos estos años. Igualmente los seguiré leyendo.
  #3 (permalink)  
Antiguo 28/05/2004, 01:52
 
Fecha de Ingreso: abril-2004
Ubicación: Madrid
Mensajes: 159
Antigüedad: 13 años, 8 meses
Puntos: 0
maldito oracle

eso es kiero accder a una db remota, gracias tio.
los clientes de oracle para php ?
tengo los clientes de oracle, el sql plus . . . todo eso a eso te refieres o te refieres a otra cosa ?
  #4 (permalink)  
Antiguo 28/05/2004, 03:46
Avatar de jachguate  
Fecha de Ingreso: enero-2003
Ubicación: Guatemala
Mensajes: 66
Antigüedad: 14 años, 10 meses
Puntos: 0
Me parece que tu problema es que no tenes bien configurado el tns_names.

te transcribo la descripción del error:

Cita:
Iniciado por Oracle SQL Codes
ORA-12538 TNS:no such protocol adapter

Cause: The protocol adapter requested (by way of the (PROTOCOL=) keyword-value pair in a TNS address is unknown. If the supplied address is typographically correct then the protocol adapter is not installed.

Action: Install the protocol adapter or correct the typographical error, as appropriate. Note: if the supplied address was derived from resolving the service name resolution, check the address in the appropriate file (TNSNAMES.ORA, LISTENER.ORA, or TNSNET.ORA).
Seguro que podes conectarte via SQL*Plus desde el servidor donde corre tu php??

Hasta luego.

;)
__________________
Juan Antonio Castillo Hernández

Visitá el blog de jachguate
  #5 (permalink)  
Antiguo 28/05/2004, 06:42
 
Fecha de Ingreso: abril-2004
Ubicación: Madrid
Mensajes: 159
Antigüedad: 13 años, 8 meses
Puntos: 0
maldito oracle . . .

Segurisimo, el tnsnames esta bien, gracias por el intento, lo repaso de todos modos . . . pero con sqlplus puedo y mire el tnsnames y está perfecto . . .
gracias de todas formas.
el oracle esta en remoto, esta en un unix, mi apache y mi php están en mi windows.
Gracias otra vez, a ver si alguien me acaba diciendo la solucion . . .
  #6 (permalink)  
Antiguo 29/05/2004, 11:14
Avatar de jachguate  
Fecha de Ingreso: enero-2003
Ubicación: Guatemala
Mensajes: 66
Antigüedad: 14 años, 10 meses
Puntos: 0
Que le estas enviando en el tercer parámetro??
__________________
Juan Antonio Castillo Hernández

Visitá el blog de jachguate
  #7 (permalink)  
Antiguo 30/05/2004, 10:07
O_O
 
Fecha de Ingreso: enero-2002
Ubicación: Santiago - Chile
Mensajes: 34.417
Antigüedad: 15 años, 11 meses
Puntos: 126
Insisto .. El servidor que corra PHP si no corre Oracle necesita de los "clientes" instalados en ese servidor (Si usan el buscador del foro veran que algunos usuarios dan como solución esa).

Un saludo,
  #8 (permalink)  
Antiguo 30/05/2004, 10:21
Avatar de jachguate  
Fecha de Ingreso: enero-2003
Ubicación: Guatemala
Mensajes: 66
Antigüedad: 14 años, 10 meses
Puntos: 0
Segun afirma herrezuelo puede conectarse con SQL*Plus sin problemas... no lo ha dicho explicitamente, pero supongo que estamos hablando que se conecta desde el servidor...

Creo que los tiros van por el lado de mi última pregunta...
__________________
Juan Antonio Castillo Hernández

Visitá el blog de jachguate
  #9 (permalink)  
Antiguo 30/05/2004, 10:35
 
Fecha de Ingreso: abril-2004
Ubicación: Madrid
Mensajes: 159
Antigüedad: 13 años, 8 meses
Puntos: 0
Gracias a todos . . . resulta dificil arreglarlo de este modo . . . tengo el cliente de oracle en mi pc, tengo el sqlplus y demas y funciona bien.
en el tercer parámetro pongo el sid, el mismo ke en el sql plus . . . no se no me keda nada claro.

Gracias de todos modos.Sigo buscando . . .

Un saludo a todos y gracis otra vez.
  #10 (permalink)  
Antiguo 30/05/2004, 11:41
Avatar de jachguate  
Fecha de Ingreso: enero-2003
Ubicación: Guatemala
Mensajes: 66
Antigüedad: 14 años, 10 meses
Puntos: 0
Y el web-server es tu pc?
__________________
Juan Antonio Castillo Hernández

Visitá el blog de jachguate
  #11 (permalink)  
Antiguo 30/05/2004, 11:48
 
Fecha de Ingreso: abril-2004
Ubicación: Madrid
Mensajes: 159
Antigüedad: 13 años, 8 meses
Puntos: 0
Si, es mi pc
  #12 (permalink)  
Antiguo 30/05/2004, 12:13
Avatar de jachguate  
Fecha de Ingreso: enero-2003
Ubicación: Guatemala
Mensajes: 66
Antigüedad: 14 años, 10 meses
Puntos: 0
No se si estemos confundidos con los terminos... y no me percaté antes, pero lo que debes poner en el tercer parámetro no es el SID de la base de datos, sino el "alias" que le has dado en el tnsnames. También, dependiendo de tu configuración de SQL*Net, podrá ser necesario que le agregues una "extensión"... por ejemplo .world.

Digamos que tu entrada de TNSNames es:

Código:
MIBD.world =
  (DESCRIPTION = 
    (ADDRESS_LIST = 
        (ADDRESS = 
          (PROTOCOL = TCP)
          (Host = 192.168.0.4)
          (Port = 1521)
        )
    )
    (CONNECT_DATA = (SID = ORCL)
    )
  )
Lo que vos tenes que poner en el tercer parámetro, no es ORCL (que es el SID de la base de datos, pero que está "enmascarado" con el alias MIBD.world. Te repito que el .world será necesario dependiendo de tu configuración de SQL*Net.

Hasta luego.

;)
__________________
Juan Antonio Castillo Hernández

Visitá el blog de jachguate
  #13 (permalink)  
Antiguo 30/05/2004, 12:42
 
Fecha de Ingreso: abril-2004
Ubicación: Madrid
Mensajes: 159
Antigüedad: 13 años, 8 meses
Puntos: 0
Si ,asi tp funciona, lo probé todo . . .
gracias.
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 21:45.