OCINLogon
(PHP 3>= 3.0.8, PHP 4 )
OCINLogon -- Conecta con una base de datos Oracle usando una nueva conexión.
Devuelve una nueva sesión.
Descripción
int
OCINLogon ( string username, string password [, string db])
OCINLogon() crea una nueva conexión con una
base de datos Oracle 8. El tercer parámetro, que es opcional, puede
contener el nombre de la instancia a Oracle o el nombre dado en el fichero
tnsnames.ora de la base de datos a la que nos queremos conectar.
Si este parámetro no se especifica, PHP usa la variable de entorno
ORACLE_SID (Oracle instance) o TWO_TASK (tnsnames.ora) para determinar la base
de datos con la que queremos conectar.
OCINLogon() fuerza una nueva conexión. Se debe usar si
necesita aislar un conjunto de transacciones. Por defecto, las conexiones
son compartidas a nivel de página si usa OCILogon() o
a nivel del proceso del servidor web si usa OCIPLogon().
Si posee múltiples conexiones abiertas usando OCINLogon(),
todos los "commits" y "rollbacks" se aplican sólo a la conexion especificada.
Este ejemplo demuestra como las conexiones están separadas.
Ejemplo 1. OCINLogon <?php
print "<HTML><PRE>";
$db = "";
$c1 = ocilogon("scott","tiger",$db);
$c2 = ocinlogon("scott","tiger",$db);
function create_table($conn)
{ $stmt = ociparse($conn,"create table scott.hallo (test
varchar2(64))");
ociexecute($stmt);
echo $conn." created table\n\n";
}
function drop_table($conn)
{ $stmt = ociparse($conn,"drop table scott.hallo");
ociexecute($stmt);
echo $conn." dropped table\n\n";
}
function insert_data($conn)
{ $stmt = ociparse($conn,"insert into scott.hallo
values('$conn' || ' ' || to_char(sysdate,'DD-MON-YY HH24:MI:SS'))");
ociexecute($stmt,OCI_DEFAULT);
echo $conn." inserted hallo\n\n";
}
function delete_data($conn)
{ $stmt = ociparse($conn,"delete from scott.hallo");
ociexecute($stmt,OCI_DEFAULT);
echo $conn." deleted hallo\n\n";
}
function commit($conn)
{ ocicommit($conn);
echo $conn." commited\n\n";
}
function rollback($conn)
{ ocirollback($conn);
echo $conn." rollback\n\n";
}
function select_data($conn)
{ $stmt = ociparse($conn,"select * from scott.hallo");
ociexecute($stmt,OCI_DEFAULT);
echo $conn."----selecting\n\n";
while (ocifetch($stmt))
echo $conn." <".ociresult($stmt,"TEST").">\n\n";
echo $conn."----done\n\n";
}
create_table($c1);
insert_data($c1);
select_data($c1);
select_data($c2);
rollback($c1);
select_data($c1);
select_data($c2);
insert_data($c2);
commit($c2);
select_data($c1);
delete_data($c1);
select_data($c1);
select_data($c2);
commit($c1);
select_data($c1);
select_data($c2);
drop_table($c1);
print "</PRE></HTML>";
?> |
|
See also OCILogon() and
OCIPLogon().