ConFoo 2025

oci_set_edition

(PHP 5 >= 5.3.2, PHP 7, PHP 8, PECL OCI8 >= 1.4.0)

oci_set_editionEstablece la edición de la base de datos

Descripción

oci_set_edition(string $edition): bool

Establece la "edición" de la base de datos de objetos que van a se utilizada por conexiones subsiguientes.

Las ediciones de Oracle permiten la ejecución de aplicaciones de versiones concurrentes usando el mismo esquema y nombres de objetos. Esto es útil para actualizar sistemas en vivo.

Se ha de llamar a oci_set_edition() antes de invocar a oci_connect(), oci_pconnect() o oci_new_connect().

Si se establece en la base de datos una edición que no es válida, la conexión fallará incluso si oci_set_edition() tiene éxito.

Cuando se usan conexiones persistentes, si una conexión con la edición establecida solicitada ya existe, será reutilizada. De lo contrario, se creará una conexión persistente diferente.

Parámetros

edition

El nombre de la edición de Oracle Database anteriormente creada con el comando SQL "CREATE EDITION".

Notas

Nota: Requisitos de la versión de Oracle

Esta función está disponible desde Oracle 11gR2 en adelante.

Precaución

Conexiones persistentes

Para evitar inconsistencias y errores inesperados, no use ALTER SESSION SET EDITION para cambiar la edición en conexiones persistentes.

Precaución

Agrupamiento de conexiones DRCP

Para evitar inconsistencias y errores inesperados cuando se utilizan ediciones y DRCP con Oracle 11.2.0.1, mantenga una correspondencia uno-a-uno entre oci8.connection_class y el nombre de la edición usado por las aplicaciones. Cada servidor de la agrupación de una clase de conexión dada debería ser usado únicamente con una edición. Esta restricción se ha eliminado con Oracle 11.2.0.2.

Valores devueltos

Devuelve true en caso de éxito o false en caso de error.

Ejemplos

Ejemplo #1 Dos scripts pueden usar diferentes versiones de myfunc() a la vez

<?php

// Fichero 1

echo "Versión 1 de la aplicación\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
"El resultado es $r\n";

?>
<?php

// Fichero 2

echo "Versión 2 de la aplicación\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
"El resultado es $r\n";

?>

add a note

User Contributed Notes

There are no user contributed notes for this page.
To Top