oci_set_edition

(PHP 5.3.2, PECL OCI8 >= 1.4.0)

oci_set_edition — Задает выпуск (edition) базы данных


Описание

bool oci_set_edition ( string $edition )

Задает "серию" объектов для использования на нижестоящих соединениях.

Подобные "выпуски" Oracle позволяют запускать приложения, использующие одинаковые схемы и имена объектов в конкурентном режиме. Это может быть полезным при модернизации работающих систем без их отключения.

Вызывайте oci_set_edition() до вызова oci_connect(), oci_pconnect() или oci_new_connect().

Если заданный выпуск является недопустимым в базе данных, соединение не будет устанавливаться, даже если функция oci_set_edition() успешно выполнится.

При использовании постоянных соединений, если соединение с данным значением серии уже существует, оно будет использовано повторно. В остальных случаях будет создаваться новое соединение.


Список параметров

edition

Имя "выпуска" базы данных Oracle, ранее созданное SQL командой "CREATE EDITION".


Примечания

Замечание: Требование к версии Oracle

Эта функция доступна, начиная с Oracle 11gR2.

Предостережение

Постоянные соединения

Во избежание несовместимости и случайных ошибок не используйте команду "ALTER SESSION SET EDITION" для изменения "серии" на постоянных соединениях.


Предостережение

DRCP объединение соединений в пул

Во избежание несовместимости и случайных ошибок при использовании серий и DRCP в Oracle 11.2.0.1 придерживайтесь однозначного соответствия между oci8.connection_class и именем "выпуска", которым пользуются приложения. Каждый сервер, входящий в состав пула с заданным классом соединений, должен использоваться только с одним "выпуском". Это ограничение устранено в версии Oracle 11.2.0.2.


Возвращаемые значения

Возвращает TRUE в случае успешного завершения или FALSE в случае возникновения ошибки.


Примеры

Пример #1 Два скрипта могут использовать различные версии функции myfunc() одновременно
// Файл 1
echo "Версия приложения 1\n";
oci_set_edition('ORA$BASE');
$c = oci_connect('hr', 'welcome', 'localhost/XE');
$s = oci_parse($c, "begin :r := myfunc(); end;");
oci_bind_by_name($s, ":r", $r, 20);
oci_execute($s);
echo "Результат: $r\n";

// Файл 2
echo "Версия приложения 2\n";
oci_set_edition('E1');
$c = oci_connect('hr', 'welcome', 'localhost/XE');
$s = oci_parse($c, "begin :r := myfunc(); end;");
oci_bind_by_name($s, ":r", $r, 20);
oci_execute($s);
echo "Результат: $r\n";




Смотрите также:
Описание на ru2.php.net
Описание на php.ru