Manuel PHP
Précédent
Suivant
Ces fonctions vous permettront d 'accéder aux serveurs Oracle8 et Oracle7.
Elles utilisent l'interface Oracle8 Call-Interface (oci8).
Vous aurez donc besoin des librairies clientes Oracle8 pour pouvoir les utiliser.
Il faut noter que cette extension est plus souple que l 'extension Oracle officielle.
Elle supporte notamment les liaisons entre les variables globales et locales de PHP avec des emplacements Oracle; elle supporte complètement les types LOB, FILE et ROWID et vous permet d 'utiliser des variables de définitions personnalisables.
Avant d'utiliser cette extension, assurez-vous que vous avez bien paramétré vos variables d 'environnement Oracle, ainsi que votre démon utilisateur.
Les variables dont vous pouvez avoir besoin sont:
Après avoir configuré ces variables pour votre utilisateur "serveur web", assurez-vous aussi d'ajouter cet utilisateur (nobody, www) au group Oracle.
Si votre serveur web ne démarre pas, ou crashe au démarrage:
Vérifiez que Apache a bien été compilé avec la librairie pthread:
Si la libpthread n 'est pas listée, vous devez réinstaller Apache:
Exemple 1.
Aide oci
?php / / par sergo@bacup.ru / / Utilisez l'option: oci_DEFAULT pour éxécuter les commandes avec un délai ociExecute($stmt, oci_DEFAULT); / / pour lire les données après lecture, utilisez: $result = ociResult($stmt, $n); if (is_object ($result)) $result = $result - load(); / / Pour les commandes INSERT ou UPDATE utilisez: $sql = "insert into table (field1, field2) values (field1 = 'value', field2 = empty_clob()) returning field2 into :field2"; ociparse($conn, $sql); $clob = ociNewDescriptor($conn, oci_D_LOB); ociBindByName ($stmt, ":field2", $clob, -1, oci_B_CLOB); ociexecute($stmt, oci_DEFAULT); $clob - save ("Du texte"); ocicommit($conn);?
Vous pouvez facilement accéder aux procédures stockées, de la même façon que vous le feriez par ligne de commande:
Exemple 2.
Utilisation de procédures stockées
?php / / par webmaster@remoterealty.com $sth = ociparse ($dbh, "begin sp_newaddress (:address_id, '$firstname', '$lastname', '$company', '$address1', '$address2', '$city', '$state', '$postalcode', '$country', :error_code );end; "); / / Ce script appelle la procédure stockée sp_newaddress, avec address_id qui est / / une variable entrante / sortante et :error_code une variable sortante. / / Lorsque vous les liez: ociBindByName ($sth, ":address_id", $addr_id, 10); ociBindByName ($sth, ":error_code", $errorcode, 10); ociExecute ($sth);?
OCICancel - - Bientôt documenté....
OCICollAppend
OCICollAssignElem - - Bientôt documenté....
OCICollGetElem - - Bientôt documenté....
OCICollMax - - Bientôt documenté....
OCICollSize - - Bientôt documenté....
OCICollTrim
OCIColumnPrecision - - Bientôt documenté....
OCIColumnScale
OCIColumnTypeRaw
OCIFreeCollection
OCILoadLob
OCINewCollection
OCISaveLob - - Bientôt documenté....
OCISaveLobFile
OCIWriteLobToFile - - Bientôt documenté....
Précédent
Sommaire
Suivant
Niveau supérieur
ociBindByName