ocinlogon

(PHP 3 >= 3.0.8, PHP 4, PHP 5)

ocinlogon -- Establece una nueva conexión con Oracle

Descripción

resource ocinlogon ( string nombre_usuario, string contrasenya [, string bd [, string juego_caracteres]] )

ocinlogon() crea una nueva conexión con una base de datos Oracle 8 e inicia una sesión. El tercer parámetro opcional puede contener el nombre de la instancia a Oracle o el nombre de una entrada en tnsnames.ora a la cual desea conectarse. Si el tercer parámetro opcional no es especificado, PHP usa las variables de entorno ORACLE_SID (instancia de Oracle) o TWO_TASK (tnsnames.ora) para determinar a cuál base de datos conectarse.

ocinlogon() obliga a crear una nueva conexión. Debe usar usada si necesita aislar un conjunto de transacciones. Por defecto, las conexiones son compartidas al nivel de página si usa ocilogon() o al nivel de proceso del servidor web si usa ociplogon(). Si tiene múltiples conexiones abiertas usando ocinlogon(), todos los procesos "commit" y "rollback" se aplican sólo a la conexión especificada.

Si usais Oracle server v.9.2 ó superior, podeis definir el parametro charset, el cual será utilizado en la nueva conexión. Si utilizais una version < 9.2, este parámetro será ignorado y la variable de entorno NLS_LANG será usada en su lugar.

Este ejemplo demuestra el modo en que las conexiones son separadas.

Ejemplo 1. Ejemplo de ocinlogon()

<?php
echo "<html><pre>";
$bd = "";

$c1 = ocilogon("scott", "tiger", $bd);
$c2 = ocinlogon("scott", "tiger", $bd);

function
crear_tabla($con)
{
  
$sentencia = ociparse($con, "create table scott.hallo (test
varchar2(64))"
);
  
ociexecute($sentencia);
  echo
$con . " tabla creada\n\n";
}

function
abandonar_tabla($con)
{
  
$sentencia = ociparse($con, "drop table scott.hallo");
  
ociexecute($sentencia);
  echo
$con . " tabla abandonada\n\n";
}

function
insertar_datos($con)
{
  
$sentencia = ociparse($con, "insert into scott.hallo
            values('$con' || ' ' || to_char(sysdate,'DD-MON-YY HH24:MI:SS'))"
);
  
ociexecute($sentencia, OCI_DEFAULT);
  echo
$con . "  datos insertados en hallo\n\n";
}

function
eliminar_datos($con)
{
  
$sentencia = ociparse($con, "delete from scott.hallo");
  
ociexecute($sentencia, OCI_DEFAULT);
  echo
$con . " datos eliminados de hallo\n\n";
}

function
commit($con)
{
  
ocicommit($con);
  echo
$con . " aplicado\n\n";
}

function
rollback($con)
{
  
ocirollback($con);
  echo
$con . " rollback\n\n";
}

function
seleccionar_datos($con)
{
  
$sentencia = ociparse($con, "select * from scott.hallo");
  
ociexecute($sentencia, OCI_DEFAULT);
  echo
$con . "----seleccionando\n\n";
  while (
ocifetch($sentencia)) {
    echo
$con . " <" . ociresult($sentencia, "TEST") . ">\n\n";
  }
  echo
$con . "----listo\n\n";
}

crear_tabla($c1);
insertar_datos($c1);

seleccionar_datos($c1);   
seleccionar_datos($c2);   

rollback($c1);      

seleccionar_datos($c1);   
seleccionar_datos($c2);   

insertar_datos($c2);   
commit($c2);        

seleccionar_datos($c1);   

eliminar_datos($c1);   
seleccionar_datos($c1);   
seleccionar_datos($c2);   
commit($c1);        

seleccionar_datos($c1);
seleccionar_datos($c2);

abandonar_tabla($c1);
echo
"</pre></html>";
?>

Vea también ocilogon() y ociplogon().

Hosting by: hurra.com
Generated: 2007-01-26 18:01:04