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() одновременно

<?php

// Файл 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"$r20);
oci_execute($s);
echo 
"Результат: $r\n";

?>
<?php

// Файл 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"$r20);
oci_execute($s);
echo 
"Результат: $r\n";

?>


Участник рейтинга Тэглайн 2010