ocilogon

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

ocilogon -- Establece una conexión con Oracle

Descripción

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

ocilogon() devuelve un identificador de conexión necesario para la mayoría de las demás llamadas OCI. El tercer parámetro opcional puede contener el nombre de la instancia local a Oracle o el nombre de una entrada en tnsnames.ora con la cual desea conectarse. Si el tercer parámetro opcional no se especifica, 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.

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.

Las conexiones son compartidas al nivel de página cuando se use ocilogon(). Esto quiere decir que los procesos "commit" y "rollback" se aplican a todas las transacciones abiertas en la página, incluso si usted ha creado conexiones múltiples.

Este ejemplo demuestra cómo son compartidas las conexiones.

Ejemplo 1. Ejemplo de ocilogon()

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

$c1 = ocilogon("scott", "tiger", $bd);
$c2 = ocilogon("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 . " committed\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);   // Insertar una fila usando c1
insertar_datos($c2);   // Insertar una fila usando c2

seleccionar_datos($c1);   // Son devueltos los resultados de ambas inserciones
seleccionar_datos($c2);   

rollback($c1);      // Rollback usando c1

seleccionar_datos($c1);   // Ambas inserciones han sido devueltas
seleccionar_datos($c2);   

insertar_datos($c2);   // Insertar una fila usando c2
commit($c2);        // Commit usando c2

seleccionar_datos($c1);   // Se devuelve el resultado de la insercion c2

eliminar_datos($c1);   // Eliminar todas las filas usando c1
seleccionar_datos($c1);   // No se devuelven filas
seleccionar_datos($c2);   // No se devuelven filas
commit($c1);        // Commit usando c1

seleccionar_datos($c1);   // No se devuelven filas
seleccionar_datos($c2);   // No se devuelven filas

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

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

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