Page 1 sur 1

Dépendances oci8 et accès à une base de données

Posté : 09 juin 2005, 09:01
par xavier.Feltin
Bonjour !!!!

Actuellement je suis en stage. On me demande de créer une interface en php pour accéder à une base de données sous Oracle.
J'arrive à accéder à la base via sqlPlus, mais impossible de me connecter via php (de plus j'utilise l'API Pear pour des raisons de migrations futures vers PostgreSql dans l'entreprise).
Voici le code que j'ai écris :

<?php 
require_once 'DB.php';


$dsn = 'oci8://client:client@tcp(gamme11.meteo.fr:1521)/inta_gamme11.meteo.fr';



$options = array (
'debug'=>2, 
'portability'=> DB_PORTABILITY_ALL,
);


$db =& DB::connect($dsn, $options);

if (PEAR::isError($db)) 
{
echo "Connexion échouée <BR/>";
echo '<br>Standard Message: ' . $db->getMessage() . "<br>"; 
echo 'Standard Code: ' . $db->getCode() . "<br>"; 
echo 'DBMS/User Message: ' . $db->getUserInfo() . "<br>"; 
echo 'DBMS/Debug Message: ' . $db->getDebugInfo() . "<br>"; 
die($db->getMessage()); 
}
else
{
echo "Connexion réussie"; 
}
?>
et voici le résultat à l'écran :

Connexion échouée

Standard Message: DB Error: extension not found
Standard Code: -25
DBMS/User Message: [DB Error: extension not found] ** oci8://client:client@tcp(gamme11.meteo.fr:1521)/inta_gamme1.meteo.fr
DBMS/Debug Message: [DB Error: extension not found] ** oci8://client:client@tcp(gamme11.meteo.fr:1521)/inta_gamme1.meteo.fr
DB Error: extension not found

A priori c'est un probleme d'extension avec oci8. Donc j'ai regardé les extensions php, mais il me marque en rouge oci8 et me dis qu'il y a des erreurs de dépendances. A priori j'ai regardé un peu sur le web, mais aucun site n'a pu me procurer une solution suffisemment complète et satisfisante, mais j'ai pu comprendre qu'il manquerait des dll d'oracle quelque part (je ne sais ou, dossier, path et dans ce cas la comment le modifier). Donc si quelqu'un sait, je lui serai très reconnaissant de me guider dans ce labyrinthe merci !!!

NB : un client oracle avec licence est installé sur le poste pour ceux qui ne l'aurait pas compris ;-)

Xavier

Posté : 09 juin 2005, 09:29
par Cyrano
Vérifie dans ton php.ini: cherche une ligne comme celle-ci:
;extension=php_oracle.dll
Si tu la trouves avec le même ";" en début de ligne, enlève ce ";", enregistre le fichier et relance ton serveur pour que ce soit pris en compte. Ça devrait régler ton problème.

ben ouai mais non

Posté : 09 juin 2005, 09:59
par xavier.feltin
;extension=php_oracle.dll est deja sans le ";", mais j'essaye de gérer sous oci8 et non pas oracle. Quand je clic sur les extensions php, oci8 est en rouge et me dit qu'il manque des dépendances. Or, le client oracle est installé mais il se pourrait que des dll ne soient pas au bon endroit pour easyphp et dans quel cas, ou dois je les mettre ?

Xav

Posté : 09 juin 2005, 10:25
par Cyrano
Autant pour moi, c'est la ligne
;extension=php_oci8.dll
Mais si elle est décommentée aussi, alors je sais pas trop.... :?

Merci quand meme

Posté : 09 juin 2005, 11:03
par xavier.feltin
Ben tant pis, merci quand meme

Xavier