(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().