ocilogon
(PHP 3>= 3.0.4, PHP 4 , PHP 5)
ocilogon -- Estabiliza uma conexão com o Oracle
Descrição
resource
ocilogon ( string username, string password [, string db] )
ocilogon() retorna um identificador de conexão
necessária para a grande maioria das outras funções OCI. O terceiro parâmetro opcional
pode conter cada nome local de uma instância Oracle ou o
nome colocado no arquivo tnsnames.ora para cada qual onde você queira conectar.
Se o terceiro parâmetro não for especificado, PHP usará o nome definido na
variável ORACLE_SID (instância Oracle) ou TWO_TASK
(tnsnames.ora) para determinar em qual database ele irá conectar.
Conexões são compartilhadas por nível de página quando usando
ocilogon(). Isto significa que commits e
rollbacks serão aplicados para todas as transações abertas na página, sempre que você tiver que criado múltiplas conexões.
Esse exemplo demonstra como conexões são compartilhadas.
Exemplo 1. ocilogon() example
<?php print "<PRE>"; $db = "";
$c1 = ocilogon("scott","tiger",$db); $c2 = ocilogon("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." committed\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); // Insert a row using c1 insert_data($c2); // Insert a row using c2
select_data($c1); // Results of both inserts are returned select_data($c2);
rollback($c1); // Rollback using c1
select_data($c1); // Both inserts have been rolled back select_data($c2);
insert_data($c2); // Insert a row using c2 commit($c2); // Commit using c2
select_data($c1); // Result of c2 insert is returned
delete_data($c1); // Delete all rows in table using c1 select_data($c1); // No rows returned select_data($c2); // No rows returned commit($c1); // Commit using c1
select_data($c1); // No rows returned select_data($c2); // No rows returned
drop_table($c1); print "</PRE>"; ?>
|
|
Veja também ociplogon() e
ocinlogon().