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