oci_new_connect() établit une nouvelle connexion sur un serveur Oracle et s'y identifie. Contrairement aux fonctions oci_connect() et oci_pconnect(), oci_new_connect() ne met pas en cache les connexions et retourne toujours un gestionnaire de connexion nouvellement ouvert. Ceci est très utile si votre application a besoin d'une isolation transactionnelle entre deux jeux de requêtes.
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 est spécifié,
oci_new_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 Instant d'Oracle, vous pouvez utiliser les méthodes de nommage facilitant la connexion 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 façon 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.
Voici comment séparer des transactions.
oci_new_connect() retourne FALSE en cas d'erreur.
Note : Dans les versions de PHP antérieures à la version 5.0.0, vous devez utiliser la fonction ocinlogon(). Cet ancien nom est toujours utilisable : un alias a été fait vers la fonction oci_new_connect(), pour assurer la compatibilité ascendante. Toutefois, il est recommandé de ne plus l'utiliser.
Voir aussi oci_connect() et oci_pconnect().
Précédent | Sommaire | Suivant |
oci_new_collection | Niveau supérieur | oci_new_cursor |