oci_pconnect

(PHP 5)

oci_pconnect -- Ouvre une connexion persistante à un serveur Oracle

Description

resource oci_pconnect ( string username, string password [, string db [, string charset [, int session_mode]]] )

oci_pconnect() crée une nouvelle connexion persistante à un serveur Oracle, et s'identifie avec le nom d'utilisateur username et le mot de passe password. Les connexions persistantes sont mises en cache et sont réutilisées entre les requêtes, réduisant ainsi la charge à chaque chargement de la page ; une application PHP typique a une seule connexion persistante à un serveur Oracle par processus enfant Apache (ou processus PHP FastCGI/CGI). Voir la section sur les connexions persistantes aux bases de données pour plus d'informations.

Note : Depuis la version 1.1 de l'extension oci8, la durée de vie ainsi que le nombre maximal de connexions persistantes Oracle peuvent être affinés en définissant les valeurs de configuration suivantes : oci8.persistent_timeout, oci8.ping_interval et oci8.max_persistent.

Le troisième paramètre, optionnel, db peut contenir l'instance locale d'Oracle ou un nom disponible dans le fichier tnsnames.ora. Si le troisième paramètre n'est pas fourni, PHP va chercher la valeur dans les variables d'environnement ORACLE_SID et TWO_TASK pour déterminer le nom de l'instance locale d'Oracle, et la localisation du fichier tnsnames.ora.

Le paramètre session_mode est disponible depuis la version 1.1 et accepte les valeurs suivantes : OCI_DEFAULT, OCI_SYSOPER et OCI_SYSDBA. Si OCI_SYSOPER ou OCI_SYSDBA sont spécifiés, oci_connect() tentera d'établir une connexion privilégiée en utilisant les crédances externes. Les connexions privilégiées sont désactivées par défaut. Pour les activer, vous devez définir oci8.privileged_connect à On.

Note : Si vous utilisez PHP avec le client Oracle Instant, vous pouvez utiliser les méthodes de nommage pour faciliter la connexion tel que décrites ici : http://download-west.oracle.com/docs/cd/B12037_01/network.101/b10775/naming.htm#i498306. Basiquement, cela signifie que vous pouvez spécifier "//db_host[:port]/database_name" en tant que nom de base de données. Mais si vous voulez utiliser l'ancienne méthode de nommage, vous devez définir soit ORACLE_HOME, soit TNS_ADMIN.

Si vous utilisez un serveur Oracle version 9.2 et suivant, vous pouvez renseigner le paramètre charset, qui peut être utilisé dans la nouvelle connexion. Si vous utilisez un serveur Oracle inférieur à la version 9.2, ce paramètre sera ignoré et la variable d'environnement NLS_LANG sera utilisée à la place.

oci_pconnect() retourne une ressource de connexion Oracle en cas de succès, et sinon, FALSE.

Note : Dans les versions de PHP antérieures à la version 5.0.0, vous devez utiliser la fonction ociplogon(). Cet ancien nom est toujours utilisable : un alias a été fait vers la fonction oci_pconnect(), pour assurer la compatibilité ascendante. Toutefois, il est recommandé de ne plus l'utiliser.

Voir aussi oci_connect() et oci_new_connect().