Sep
17
2010
ocilogon()
 
OCILogon

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

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

 

 
Комментарии
Добавить новый Поиск
Оставить комментарий
Имя:
Email:
 
Веб-сайт:
Тема:
UBB-Код:
[b] [i] [u] [url] [quote] [code] [img] 
 
 
:angry::0:confused::cheer:B):evil::silly::dry::lol::kiss::D:pinch:
:(:shock::X:side::):P:unsure::woohoo::huh::whistle:;):s
:!::?::idea::arrow:
 
Пожалуйста, введите проверочный код, который Вы видите на картинке.
Powered by !JoomlaComment 3.26

3.26 Copyright (C) 2008 Compojoom.com / Copyright (C) 2007 Alain Georgette / Copyright (C) 2006 Frantisek Hliva. All rights reserved."

 

Кто онлайн

Сейчас 27 гостей онлайн