Manual do PHP
Anterior |  | Próxima

# 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().

Anterior | Principal | Próxima
ocilogoff | Acima | ocinewcollection