ocinlogon
(PHP 3>= 3.0.8, PHP 4 )
ocinlogon --
Etablit une nouvelle correction avec un serveur Oracle
Description
resource
ocinlogon ( string username, string password [, string db])
ocinlogon() crée une nouvelle connexion à
un serveur Oracle et s'identifie. Le paramètre
optionnel db peut contenir le nom local
du serveur Oracle, ou bien son nom dans la table d'entrées
tnsnames.ora à laquelle vous voulez vous connecter. Si le troisième
paramètre n'est pas spécifié, PHP utilisera la variable d'environnement
ORACLE_SID (instance Oracle) ou TWO_TASK
(tnsnames.ora) pour déterminer la base à laquelle se connecter.
ocinlogon() force le serveur à
établir une nouvelle connexion. Cette fonction ne
doit être utilisée que si vous voulez isoler un
ensemble de transactions. Par défaut, les connexions
sont partagées au niveau de la page, si vous utilisez
la fonction ocinlogon() ou bien au niveau
du processus web, si vous utilisez ociplogon().
Si vous avez de multiples connexions ouvertes avec
ocinlogon(), les validations et annulations
ne s'appliquent qu'à la connexion spécifée.
L'exemple ci-dessous montre l'utilisation des connexions
séparées.
Exemple 1. Exemple avec 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." a créé une table\n\n"; }
function drop_table($conn) { $stmt = ociparse($conn,"drop table scott.hallo"); ociexecute($stmt); echo $conn." a effacé une 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." a inséré dans hallo\n\n"; }
function delete_data($conn) { $stmt = ociparse($conn,"delete from scott.hallo"); ociexecute($stmt,OCI_DEFAULT); echo $conn." a effacé dans hallo\n\n"; }
function commit($conn) { ocicommit($conn); echo $conn." validé\n\n"; }
function rollback($conn) { ocirollback($conn); echo $conn." annulé\n\n"; }
function select_data($conn) { $stmt = ociparse($conn,"select * from scott.hallo"); ociexecute($stmt,OCI_DEFAULT); echo $conn."----selection\n\n"; while (ocifetch($stmt)) echo $conn." <".ociresult($stmt,"TEST").">\n\n"; echo $conn."----fin\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>"; ?>
|
|
Voir aussi
ocilogon() et
ociplogon().