oci_set_client_info
oci_set_module_name
Fonctions OCI8
PHP Manual

# oci_set_edition

(PHP 5.3.2, PECL OCI8 >= 1.4.0)

oci_set_edition — Définit l'édition de la base de données

### Description

bool oci_set_edition ( string `$edition` )

Définit l'édition des objets de la base de données à utiliser par les connexions.

L'édition Oracle permet à des versions concurrentes des applications d'être exécutées en utilisant le même nom de schéma et d'objets. Ceci est pratique pour mettre à jour en direct les systèmes.

Appelez la fonction oci_set_edition() avant d'appeler une fonction comme oci_connect(), oci_pconnect() ou oci_new_connect().

Si une édition est définie mais n'est pas valide sur la base de données, toute tentative de connexion échouera même si la fonction oci_set_edition() retourne un statut de réussite.

Lors de l'utilisation des connexions persistantes, si une connexion avec l'édition demandée existe déjà, elle sera ré-utilisée. Sinon, une connexion persistante différente sera créée.

### Liste de paramètres

`edition`

  Nom de l'édition Oracle, précédemment créé avec la commande SQL "CREATE EDITION".

### Notes

> Note: Exigence de la version Oracle
> Cette fonction est disponible pour Oracle 11gR2 et suivants.

Attention

# Connexions persistantes

Pour éviter les inconsistances de données ou des erreurs inattendues, n'utilisez pas la requête ALTER SESSION SET EDITION pour changer une édition sur les connexions persistantes.

Attention

# File d'attente de connexions DRCP

Pour éviter les inconsistances de données ou des erreurs inattendues lors de l'utilisation des éditions et de DRCP avec Oracle 11.2.0.1, conservez une correspondance un-à-un entre oci8.connection_class et le nom de l'édition utilisé par vos applications. Chaque serveur pour une classe de connexion donnée doit être utilisé avec une seule édition.

### Valeurs de retour

Cette fonction retourne `TRUE` en cas de succès ou `FALSE` si une erreur survient.

### Exemples

Exemple #1 2 scripts peuvent utiliser différentes versions de myfunc() au même moment

`<?php
// Fichier 1
echo "Version 1 de l'application\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 "Le résultat est $r\n";
?>`
`<?php
// Fichier 2
echo "Version 2 de l'application\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 "Le résultat est $r\n";
?>`

oci_set_client_info
oci_set_module_name
Fonctions OCI8
PHP Manual