ocinlogon

ocinlogon -- Logt sich in die Oracle Datenbank ein und erzeugt dabei eine neue Oracle Session.

Beschreibung

int OCINLogon ( string username, string password [, string db])

OCINogon( ) gibt bei erfolgreicher Verbindung einen Verbindungsindex zurück . Bei einem Fehler FALSE . Der optionale dritte Parameter kann auf die lokale Oracleinstanz gesetzt werden oder auf die , zu welcher sich verbunden werden soll . Diese sollte in der tnsnames.ora aufgeführt sein . Wird der dritte Parameter nicht gesetzt nimmt PHP automatisch den Wert aus der Umgebungsvariable ORACLE_SID oder TWO_TASK .

OCINLogon( ) erzeugt eine neue Verbindung mit einer neuen Oracle Session , dies ist zum Beispiel erforderlich , wenn man mit voneinander getrennten Transaktionen arbeitet . Normalerweise wird die Oracle Session gemeinsam genutzt , wenn man OCILogon( ) oder auf Webserverebene OCIPLogon( ) . Wenn man allerdings unterschiedliche Verbindungen mit OCINLogon( ) öffnet , beeinflussen sich die Commits und Rollbacks der einzelnen Datenbankverbindungen nicht .

Dieses Beispiel zeigt , dass es sich um unterschiedliche Verbindungen handelt :

Beispiel 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

 
"

 
;

 
?





Bitte beachten OCILogon( ) und OCIPLogon( ) .