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