ocinlogon

(PHP 3>= 3.0.8, PHP 4 , PHP 5)

ocinlogon -- Estabiliza uma nova conexão com o Oracle

Descrição

resource ocinlogon ( string username, string password [, string db] )

ocinlogon() cria uma nova conexão com um Banco de Dados Oracle 8 e loga isso. O terceiro parâmetro opcional pode conter cada nome de um instância Oracle local ou o nome colocado no arquivo tnsnames.ora para o qual você queira conectar. Se o terceiro parâmetro não for especificado, PHP usará a variável de ambiente ORACLE_SID (instância Oracle) ou TWO_TASK (tnsnames.ora) para determinar em qual database irá conectar.

ocinlogon() força uma nova conexão. Isso deve ser usado se você precisar isolar algumas transações. Por padrão, conexões são compartilhadas por página se usando ocilogon() ou em um processo do servidor web Se usando ociplogon(). Se você tem múltiplas conexões abertas usando ocinlogon(), todos os commits e rollbacks serão aplicados especificamente para uma conexão somente.

Este exemplo demonstra como fazer conexões separadamente.

Exemplo 1. ocinlogon() example

<?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." 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);

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>";
?>

Veja também ocilogon() e ociplogon().