 |
(PHP 3>= 3.0.4, PHP 4)
OCILogon - устанавливает соединение с Oracle.
Описание
int OCILogon (string username, string password [, string db])
OCILogon() возвращает идентификатор соединения, необходимый для
большинства других OCI-вызовов. Необязательный третий параметр может содержать
имя локального экземпляра Oracle или имя вхождения в tnsnames.ora, с которым
вы хотите соединиться. Если необязательный третий параметр не специфицирован,
PHP использует переменные окружения ORACLE_SID (Oracle-экземпляр) или
TWO_TASK (tnsnames.ora) для определения того, с какой БД соединиться.
Соединения используются совместно на уровне страницы при работе с OCILogon().
Это значит, что подтверждения и откаты применяются ко всем открытым транзакциям
на странице, даже если вы создали несколько соединений.
В примере показано, как совместно использовать/share соединения.
Пример 1. OCILogon
<?php print "<HTML><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); // вставить
ряд с использованием c1 insert_data($c2); // вставить ряд с использованием c2
select_data($c1); // возвращаются результаты обеих вставок select_data($c2); rollback($c1);
// откат с использованием c1 select_data($c1); // обе вставки откатываются select_data($c2);
insert_data($c2); // вставить ряд с использованием c2 commit($c2); // подтвердить
использование c2 select_data($c1); // возвращается результат c2-вставки delete_data($c1);
// удалить все ряды в таблице с использованием c1 select_data($c1); // ряды не
возвращаются select_data($c2); // ряды не возвращаются commit($c1); // подтвердить
использование c1 select_data($c1); // ряды не возвращаются select_data($c2); //
ряды не возвращаются drop_table($c1); print "</PRE></HTML>"; ?>
|
|
См. также OCIPLogon() и OCINLogon().
|
 |