Foros del Web » Programando para Internet » PHP »

Conectando con Oracle

Estas en el tema de Conectando con Oracle en el foro de PHP en Foros del Web. estoy tratandome de conectar a una base de datos Oracke y Tengo este codigo... function Conec_Oracle() { $conectar=OCILogon("compiere","oracle","erp.carbel gdl"); OCIParse($conectar,"select M_product_id,name from m_product"); OCIExecute($conectar); $obten=OCIFetch($conectar); ...
  #1 (permalink)  
Antiguo 28/07/2003, 16:38
 
Fecha de Ingreso: mayo-2003
Ubicación: México
Mensajes: 125
Antigüedad: 20 años, 11 meses
Puntos: 0
Conectando con Oracle

estoy tratandome de conectar a una base de datos Oracke y Tengo este codigo...


function Conec_Oracle()
{
$conectar=OCILogon("compiere","oracle","erp.carbel gdl");
OCIParse($conectar,"select M_product_id,name from m_product");
OCIExecute($conectar);
$obten=OCIFetch($conectar);
while($obten)
{
$campo1=OCIColumnName($conectar,0);
$campo2=OCIColumnName($conectar,1);
echo "campo1 =3D$campo1 y campo2 =3D $campo2";
$obten=OCIFetch($conectar);
}
}


y me marca el siguiente error...



Fatal error: Call to undefined function: ocilogon() in c:\phpdev\www\prueba\libreria.php on line 35

tengo que agregar alguna librería??? o que tengo que hacer???

agradecere sus respuestas...
  #2 (permalink)  
Antiguo 28/07/2003, 19:10
 
Fecha de Ingreso: julio-2003
Mensajes: 165
Antigüedad: 20 años, 9 meses
Puntos: 1
Hola,

Pues inicialmente lo que debes hacer es asegurarte de que el intérprete PHP que usas haya sido compilado con el soporte para Oracle 8 habilitado. Revisa las notas sobre requerimientos e instalación del soporte para Oracle 8 en el manual de PHP:

http://www.php.net/manual/en/ref.oci8.php

Un cordial saludo
  #3 (permalink)  
Antiguo 29/07/2003, 09:35
 
Fecha de Ingreso: mayo-2003
Ubicación: México
Mensajes: 125
Antigüedad: 20 años, 11 meses
Puntos: 0
disculpa, pero desconozco mucho del manejo de php, hasta ahora solo me había dedicado a desarrollar pocas funciones, y solo creaba el archivo php, y lo ponía en el servidor a nivel del www, por lo tanto no se como hacer la compilacion de la que me hablas, se lo que es una compilacion obviamente, pero no sabía que se podía compilar el php, lei la liga que me diste pero no dice donde exactamente se hace o como se hace, existe una manual que aunde mas en el tema...
  #4 (permalink)  
Antiguo 29/07/2003, 10:17
 
Fecha de Ingreso: julio-2003
Mensajes: 165
Antigüedad: 20 años, 9 meses
Puntos: 1
Claro mi amigo, en el manual de PHP puedes encontrar instrucciones para la instalación y configuración de PHP y extensas notas contribuidas por visitantes del manual:

http://www.php.net/manual/en/installation.php

En la página que te referí anteriormente mencionan el parámetro que hay que pasar al script de configuración de PHP a la hora de preparar la instalación:

Cita:
Debe compilar PHP con la opción --with-oci8[=DIR], en donde DIR es por defecto el valor de su variable de entorno ORACLE_HOME.
Claro está que esto es un proceso natural cuando se está familiarizado con la instalación de software en sistemas Unix. Por lo que alcanzo a observar de tus mensajes, parece que estás trabajando sobre un sistema windows. En tal caso, francamente no puedo ayudarte mucho ya que no conozco mucho sobre ese tipo de sistemas. Solo me puedo limitar a guiarte hacia el material de referencia apropiado.

¿Eres usuario de un servicio de hospedaje externo en donde te ofrecen el soporte para PHP? En tal caso lo más recomendable es que hables con los encargados del servicio y les preguntes sobre el soporte para Oracle en PHP.

Por otra parte, si eres el encargado de la máquina en la que trabajas (y la máquina tiene un sistema windows), no me queda más que recomendarte que leas detalladamente las instrucciones de instalación correspondientes: http://www.php.net/manual/en/install.windows.php

Échale un vistazo especialmente a la sección "Installation of Windows extensions" en donde se describe el uso de librerías externas, y allí se menciona php_oci8.dll, la cual posiblemente es la que necesitas.

Un cordial saludo
  #5 (permalink)  
Antiguo 29/07/2003, 11:02
 
Fecha de Ingreso: mayo-2003
Ubicación: México
Mensajes: 125
Antigüedad: 20 años, 11 meses
Puntos: 0
me han sido de mucha utilidad tus mensajes, gracias leonardop...
  #6 (permalink)  
Antiguo 29/07/2003, 12:00
 
Fecha de Ingreso: julio-2003
Mensajes: 4
Antigüedad: 20 años, 9 meses
Puntos: 0
respuesta

hola
podrias trabajar con las funciones ora de php para trabajar con oracle.... lo que tienes que hacer es ir al archivo php.ini y descomentariar la siguiente linea

extension=php_oracle.dll
despues guardas el archivo...

vas y creas un programa para haber si te funciona ....... hay te mando un codigo para que lo pruebes....
Código PHP:
<?php
putenv
("ORACLE_SID=*****");    // aca colocas el nombre de la base de datos
putenv("ORACLE_HOME=c:\****"); // aca colocas la ruta de la carpeta de oracle
putenv("TNS_ADMIN=c:\******"); //aca colocas la ruta del archivo deon de se encunetre tns_name.ora
$c=Ora_Logon("usuario@base de datos""contraseña");  
if (
$c
  {
    echo 
"Successfully connected to Oracle.\n";
    
//Ora_Logoff($c);
  

else {
      echo 
"Oracle Connect Error " Ora_Error();
                exit;
        }
    
/***********************************************************************/
        
function printoraerr($in_cur){
        
// function to check whether an oracle error occured
        // if it did, print the error
        // call this after every oracle call when a cursor is active
        
if(ora_errorcode($in_cur))
           echo 
"Oracle code - ".ora_error($in_cur)."<br>\n";
        return;
    }
    
/** main */
    /*if (!($conn=ora_logon("user@TNSNAME","password"))) {
        echo "Connection to database failed\n";
        exit;
    }*/
    
echo "Connected as connection - <b>$conn</b><br>\n";

    echo 
"Opening cursor ...<br>\n";
        
$cursor=ora_open($c); printoraerr($cursor);
    echo 
"Opened cursor - <b>$cursor</b><br>\n";

    
$qry="select nombre,direccion from prueba";
    echo 
"Parsing the query <b>$qry</b> ...<br>\n";
        
ora_parse($cursor,$qry,0); printoraerr($cursor);
    echo 
"Query parsed <br>\n";

    echo 
"Executing cursor ...<br>\n";
        
ora_exec($cursor); printoraerr($cursor);
    echo 
"Executed cursor<br>\n";

    echo 
"Fetching cursor ...<br>\n";
    while(
ora_fetch($cursor)){
           
$nombre=ora_getcolumn($cursor,0); printoraerr($cursor);
           
$direccion=ora_getcolumn($cursor,1); printoraerr($cursor);
           echo 
" row = <B>$nombre, $direccion </B><br>\n";
    }
    echo 
"Fetched all records<br>\n";
    echo 
"Closing cursor ...<br>\n";
        
ora_close($cursor);
    echo 
"Closed cursor<br>\n";

    echo 
"Logging off from oracle... <br>\n";
        
ora_logoff($c);
    echo 
"Logged off from oracle <br>\n";
    
    
?>
espero que te sea de gran ayuda......


un saludo
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 20:36.