J'ai une plateforme intranet sur WIN2K / IIS / PHP en mode ISAPI,
je n'arrive pas a me connecter a une base ORACLE 9i sur une serveur distant,
j'ai bien installer le client oracle et configurer le tnsnames,
j'y accede bien via le tnsping et sqlplus...
j'ai meme configurer un lien odbc sur la base et la aussi je m'y connecte bien
(via le test ODBC)
j'ai positionner les variables d'environnement :
ORACLE_HOME ; ORACLE_SID ; TNS_ADMIN ; PATH ;
PHP reconnait bien ma fonction ocilogon(), mais il me genere cette erreur :
"PHP has encountered an Access Violation at 023FCEC1"
voici mon code :
jamais utilisé Oracle avec PHP.
ceci dit, tu as essayé de virer TESTSID de ta connexion?
Ce que je lis dans la doc, moi, c'est que si le 3ème paramètre $db n'est pas spécifié, PHP utilisera automatiquement l'instance Oracle (ORACLE_SID) pour trouver à quelle db se connecter.
Or là, tu lui passes une chaîne contenant TESTSID.
A moins que TESTSID soit le nom de ta base, évidemment...
Heu, en lisant tes putenv() je me rends compte que c'est effectivement probablement le cas ;-)
Le problème c'est que cette erreur est trop vague pour déterminer d'où elle vient :-( Saloperie de Windows ;-)
Ceci dit, avec qques recherches sur le net, il semble que bcp d'utilisateur aient cette erreur avec IIS , et PHP en mode ISAPI. Sans workaround connu...(en tous cas, je n'en ai pas trouvé).
Essaye peut-être bêtement de mettre à jour IIS...?
j'ai encore 2 3 pistes a etudier ...
Droit d'acces sur la base oracle (nobody,www)
Mise a jour de l'oci8.dll ( vu sur un forum oracle )
je vais essayer sans le ORACLE_SID ...
mais je sui presque persuader que le probleme ne viens pas de la ...
il faut bien qu'il recupere ces petits car la bas est pas en local