Connexion à Oracle

Répondre


Cette question est un moyen d’empêcher des soumissions automatisées de formulaires par des robots.
Smileys
:D :) :( :o :shock: :? 8-) :lol: :x :P :oops: :cry: :evil: :twisted: :roll: :wink: :!: :?: :idea: :arrow: :| :mrgreen: =D> #-o =P~ :^o :non: :priere: 8-|
Voir plus de smileys
  Revue du sujet
 

  Étendre la vue Revue du sujet : Connexion à Oracle

par Invité » 04 févr. 2009, 10:45

...quote]

Bonjour Ryle,

Merci de t'intéresser à mon problème.
Mon <server> est un adresse ip où est installé la base oracle.
J'ai jeté un coup d'oeil sur mon tnsnames.ora. Celui-ci est d'ailleurs dans un tout autre folder de ma machine (je l'attendais dans mon instantclient folder); en plus, c'est des hostname et non des ip => je suis loin d'être certain que dans la liste, il y ai ma base (ça m'étonnerais quand même, mais bon). Donc, dans le doute, j'ai renseigné directement sur mon fichier php comme ceci :

Code : Tout sélectionner

$server="(DESCRIPTION = (ADDRESS_LIST = (ADDRESS = (PROTOCOL = TCP)(HOST = xxx.xxx.xxx.xxx)(PORT = 1521))))"; $connex = OCILogon('user', 'pass', '$server'); etc..
Mais toujours la même erreur.

J'ai complété mon package client avec sqlplus depuis ici (je m'étais contenté du basic):

http://www.oracle.com/technology/softwa ... nsoft.html

Et là, j'ai une erreur qui dit :
ORA-12560: TNS:protocol adapter error
Ca avance....je cherche....si vous avez des idées, je suis preneur.

Merci

par Ryle » 03 févr. 2009, 23:13

Que contient ton <server> ?

Oracle se base sur un fichier tnsnames.ora pour identifier le serveur et la base sur laquelle il doit se connecter à partir de l'alias que tu lui as donné, as-tu vérifié si celui-ci était bien renseigné ? Parviens-tu à te connecter à ta base depuis le poste client avec sqlplus ?

Tu peux également renseigner ton <server> directement avec la chaine "(DESCRIPTION = (ADDRESS_LIST = (ADDRESS = (PROTOCOL = TCP)(HOST = ton_serveur)(PORT = 1521)) ...."

Connexion à Oracle

par andreas » 03 févr. 2009, 18:28

Bonjour,

Ca fait un moment que je sèche pour me connecter à Oracle.
Je roule avec un windows xp (je sais....) un php 5.2.8 un oracle distant 8.1.7.2.0 un client oracle sur ma machine 11.1

Sur mon phpinfo() j'ai bien mon ORACLE_HOME et mon ORACLE_SID juste. J'ai aussi les params oci8 qui sont ok.

Par contre, quand je lance ce script :

Code : Tout sélectionner

$ORACLE_HOME = getenv('ORACLE_HOME'); if (strlen($ORACLE_HOME) == 0) { printf("The ORACLE_HOME environment variable has not been set");} else{ printf("ORACLE_HOME okay !");} echo"<br><br>"; $connex = OCILogon('<user>', '<pass>', '<server>'); if ($connex){ print "oui"; }else{ print "<br><b>failed to connect to oracle DB</b>"; }
il me retourne :
ORACLE_HOME okay !


Warning: ocilogon() [function.ocilogon]: OCIEnvNlsCreate() failed. There is something wrong with your system - please check that PATH includes the directory with Oracle Instant Client libraries in C:\Program Files\EasyPHP 3.0\www\test.php on line 52

failed to connect to oracle DB
En d'autres termes, si je comprends bien, la variable ORACLE_HOME est ok, mais pas trop.....

qqu a une idée de ce que je fais de faux, ce qui me manque.

Merci