[Oracle] Pb de connexion avec Tomcat

Pb de connexion avec Tomcat [Oracle] - SQL/NoSQL - Programmation

Marsh Posté le 19-11-2004 à 14:51:29    

Salut !
 
  Je viens d'installer Oracle pour faire des tests de connexion à Tomcat.
Mais dans la configuration, je ne sais quoi mettre au bout de l'URL :
à la place de XYZT
"jdbc:oracle:thin:localhost:1521:XYZT","system","admin"
sachant que j'ai tout laissé par défaut (pas créé d'utilisateur en + ni de table space, etc)
 
J'ai cru comprendre que le XYZT correspondrait à un "nom de service" ou à un "tablespace"  
mais je n'ai aucune idée de ce que c'est  
 
    qqun pourrait-il m'aider, svp ?


Message édité par sire de Botcor le 19-11-2004 à 15:21:45

---------------
«Ceux qui croient que les peuples suivront leurs intérêts et non leurs passions n’ont rien compris au XXe siècle.» © Raymond Aron
Reply

Marsh Posté le 19-11-2004 à 14:51:29   

Reply

Marsh Posté le 19-11-2004 à 14:55:23    

XYZT correspond au SID de ta base


---------------
J'ai un string dans l'array (Paris Hilton)
Reply

Marsh Posté le 19-11-2004 à 15:00:09    

merci
c'est le nom de ma base, c'est ça ?


---------------
«Ceux qui croient que les peuples suivront leurs intérêts et non leurs passions n’ont rien compris au XXe siècle.» © Raymond Aron
Reply

Marsh Posté le 19-11-2004 à 15:07:42    

oui

Reply

Marsh Posté le 19-11-2004 à 15:09:14    

alors j'avais bon : arf, le pb n'était pas là
 
sauriez-vous par hasard ce que signifient ces erreurs ?

Citation :


Etat HTTP 500 -
 
type Rapport d'exception
 
message
 
description Le serveur a rencontré une erreur interne () qui l'a empêché de satisfaire la requête.
 
exception
 
javax.servlet.ServletException: Listener refused the connection with the following error:
ORA-12505, TNS:listener does not currently know of SID given in connect descriptor
The Connection descriptor used by the client was:
localhost:1521:orcl
 
 org.apache.jasper.runtime.PageContextImpl.doHandlePageException(PageContextImpl.java:825)
 org.apache.jasper.runtime.PageContextImpl.handlePageException(PageContextImpl.java:758)
 org.apache.jsp.connexoracle_jsp._jspService(connexoracle_jsp.java:85)
 org.apache.jasper.runtime.HttpJspBase.service(HttpJspBase.java:94)
 javax.servlet.http.HttpServlet.service(HttpServlet.java:802)
 org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:324)
 org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:292)
 org.apache.jasper.servlet.JspServlet.service(JspServlet.java:236)
 javax.servlet.http.HttpServlet.service(HttpServlet.java:802)
 
cause mère
 
java.sql.SQLException: Listener refused the connection with the following error:
ORA-12505, TNS:listener does not currently know of SID given in connect descriptor
The Connection descriptor used by the client was:
localhost:1521:orcl
 
 oracle.jdbc.driver.DatabaseError.throwSqlException(DatabaseError.java:124)
 oracle.jdbc.driver.DatabaseError.throwSqlException(DatabaseError.java:279)
 oracle.jdbc.driver.T4CConnection.logon(T4CConnection.java:318)
 oracle.jdbc.driver.PhysicalConnection.<init>(PhysicalConnection.java:343)
 oracle.jdbc.driver.T4CConnection.<init>(T4CConnection.java:147)
 oracle.jdbc.driver.T4CDriverExtension.getConnection(T4CDriverExtension.java:31)
 oracle.jdbc.driver.OracleDriver.connect(OracleDriver.java:545)
 java.sql.DriverManager.getConnection(DriverManager.java:512)
 java.sql.DriverManager.getConnection(DriverManager.java:171)
 org.apache.jsp.connexoracle_jsp._jspService(connexoracle_jsp.java:49)
 org.apache.jasper.runtime.HttpJspBase.service(HttpJspBase.java:94)
 javax.servlet.http.HttpServlet.service(HttpServlet.java:802)
 org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:324)
 org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:292)
 org.apache.jasper.servlet.JspServlet.service(JspServlet.java:236)
 javax.servlet.http.HttpServlet.service(HttpServlet.java:802)


---------------
«Ceux qui croient que les peuples suivront leurs intérêts et non leurs passions n’ont rien compris au XXe siècle.» © Raymond Aron
Reply

Marsh Posté le 19-11-2004 à 15:09:36    

tel qu'il est spécifié dans ton TNSNAME sous le nom de "SID" ou "SERVICE_NAME" (je sais pas trop quelle est la différence, à priori c'est pareil)
 

Code :
  1. ACODBT01.GEMSE =
  2.   (DESCRIPTION =
  3.     (ADDRESS_LIST =
  4.       (ADDRESS = (PROTOCOL = TCP)(HOST = 3.249.104.4)(PORT = 1526))
  5.     )
  6.     (CONNECT_DATA =
  7.       (SID = ACODBT01)
  8.     )
  9.   )
  10. acodbp01.GEMSE =
  11.   (DESCRIPTION =
  12.     (ADDRESS_LIST =
  13.       (ADDRESS = (PROTOCOL = TCP)(HOST = frbucora03medge.euro.med.ge.com)(PORT = 1526))
  14.     )
  15.     (CONNECT_DATA =
  16.       (SERVER = DEDICATED)
  17.       (SERVICE_NAME = acodbp01)
  18.     )
  19.   )


 

Reply

Marsh Posté le 19-11-2004 à 15:10:50    

Question : t'as bien un TNSNAMES.ORA sur ta machine ? Il est reconnu ? Essaie d'utiliser le TNSNAME plutôt que le SID, on sait jamais.
 
En tout cas, le SID que tu as spécifié est incorrect.

Reply

Marsh Posté le 19-11-2004 à 15:11:48    

T'es sûr que ta BASE s'appelle "orcl" ? J'en doute fortement, c'est plutôt le nom du serveur ça... [:spamafote]

Reply

Marsh Posté le 19-11-2004 à 15:12:31    

+1 avec arjuna
tu peux récupérer le SID dans le tnsnames.ora, ou en exécutant la requête suivante :
 
SELECT * FROM global_name


---------------
J'ai un string dans l'array (Paris Hilton)
Reply

Marsh Posté le 19-11-2004 à 15:18:30    

ma base s'appelle "Oracle"
je ne sais pas pourquoi il me met "localhost:1521:orcl" dans l'erreur
parce que ma ligne est bien "jdbc:oracle:thin:localhost:1521:Oracle","system","admin"  
j'ai redémarré Tomcat : pareil
 
peut-être faut-il toucher à qqch dans tomcat ?
(je m'étais connecté à une base mysql avant sans avoir à toucher)


Message édité par sire de Botcor le 19-11-2004 à 15:20:55

---------------
«Ceux qui croient que les peuples suivront leurs intérêts et non leurs passions n’ont rien compris au XXe siècle.» © Raymond Aron
Reply

Marsh Posté le 19-11-2004 à 15:18:30   

Reply

Marsh Posté le 19-11-2004 à 15:19:22    

mes compétences s'arrètent là, le reste concerne Java :o


---------------
J'ai un string dans l'array (Paris Hilton)
Reply

Marsh Posté le 19-11-2004 à 15:32:52    

Harkonnen a écrit :

mes compétences s'arrètent là, le reste concerne Java :o


Les miennes d'arrête encore plus tôt, j'ai jamais fait de Java de ma vie, donc je sais même pas comment s'écrit un pont JDBC :D

Reply

Marsh Posté le 19-11-2004 à 15:35:31    

En fait, pour résumer,  
je n'ai que ceci pour configurer l'accès à la db Oracle à partir du code JSP :

Citation :


 Class.forName("oracle.jdbc.driver.OracleDriver" );
 Connection con = DriverManager.getConnection ("jdbc:oracle:thin:localhost:1521:Oracle","dakarr","admin" );


 
est-ce suffisant ?
faut-il toucher à Tomcat ?


---------------
«Ceux qui croient que les peuples suivront leurs intérêts et non leurs passions n’ont rien compris au XXe siècle.» © Raymond Aron
Reply

Marsh Posté le 19-11-2004 à 15:39:00    

J'en doute.
 
Mais réponds d'abors à la question : Est-ce que tu as un TNSNAMES.ORA et un client Oracle installé sur ton serveur Tomcat ?
Si non, alors installe tout ça, je doute que tu puisses t'en passer. Et utilise alors le nom de ton TNS plutôt que le nom de ta BDD.
 
Pour un exemple de TNSNAMES.ORA, reprends simplement le code que je t'ai filé plus haut.
 
Ca me semble étonnant que Java puisse se passer du TNSNAMES, puisque jusqu'à présent je n'ai jamais vu une appli capable de s'en passer [:spamafote]

Reply

Marsh Posté le 19-11-2004 à 15:41:47    

Regarde de ce côté si tu trouve des infos
 
http://www.experts-exchange.com/We [...] 51693.html

Reply

Marsh Posté le 19-11-2004 à 15:42:03    

PS: les réponses sont après la pub

Reply

Marsh Posté le 19-11-2004 à 16:13:35    

merci arjuna,  
alors j'ai créer un tnsname dans le fichier "D:\oracle\product\10.1.0\Db_1\NETWORK\ADMIN\SAMPLE\TNSNAMES.ORA"
avec le code suivant :

Citation :


test =
  (DESCRIPTION =
    (ADDRESS_LIST =
      (ADDRESS = (PROTOCOL = TCP)(HOST = localhost)(PORT = 1521))
    )
    (CONNECT_DATA =
      (SID = oracle)
      (SERVER = DEDICATED)
    )
  )


 
pour ce qui est du client Oracle, je ne vois pas bien ce qui s'intègre dans Tomcat ?
 
edit: j'ai remplacé jdbc:oracle:thin:localhost:1521:oracle
        par jdbc:oracle:thin:localhost:1521:test
 
au fait, ça ne fonctionne toujours pas


Message édité par sire de Botcor le 19-11-2004 à 16:28:13

---------------
«Ceux qui croient que les peuples suivront leurs intérêts et non leurs passions n’ont rien compris au XXe siècle.» © Raymond Aron
Reply

Marsh Posté le 19-11-2004 à 16:52:03    

Groumpf.
 
Déjà, avec SQL+, vérifie que tu peux accéder à ta base Oracle et te connectant à la base "test" et les login/pass de ton pont JDBC. Ca permettra tout d'abors de vérifier que de ce côté tu n'as pas de problème.
 
Pour le suite, aucune idée. Si ça ne marche pas, soit il te manque un lib Java, soit un paramètre dans TOMCAT.
 
PS: après relecture de différents éléments, j'ai l'impression que TOMCAT n'a pas besoin du TNSNAMES.ORA en effet.

Reply

Marsh Posté le 19-11-2004 à 17:07:18    

bizarrement, ce n'est pas direct lorsque j'essaie de me connecter à ma base par le tnsnames "test"
 
je te copie la séquence de commandes :

Citation :


Z:\>sqlplus system/admin@test
 
SQL*Plus: Release 10.1.0.2.0 - Production on Ven. Nov. 19 17:03:56 2004
 
ERROR:
ORA-12154: TNS:could not resolve the connect identifier specified
 
Enter user-name: system
Enter password:
 
Connected to:
Oracle Database 10g Enterprise Edition Release 10.1.0.2.0 - Production
With the Partitioning, OLAP and Data Mining options
 
SQL> select * from bouh;
 
TITRE
---------------------------------------------------------------------------
blabla
 
SQL>


---------------
«Ceux qui croient que les peuples suivront leurs intérêts et non leurs passions n’ont rien compris au XXe siècle.» © Raymond Aron
Reply

Marsh Posté le 19-11-2004 à 17:12:08    

Ca à l'air de pattater dans la semoule en effet...
 
Désolé, mes compétences s'arrête là :D
 
J'ai essayé une fois d'installer Oracle chez moi, j'ai jamais réussi à me connecter à la base. Et quand j'ai voulu installer un éditeur Java, à la première execution de mon "HelloWorld", le PC a planté et la partition système du HD à foutu le camp [:spamafote]
 
Donc y'a qu'au boulot que je m'en sers, et du coup tout ce qui est problème d'admin Oracle, c'est pas moi qui m'en occupe, et j'ai Java en horreur depuis ma mésaventure :D

Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed