OCINLogon

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 .

 
?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

 
"

 
;

 
?