IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

JDBC Java Discussion :

Connexion Oracle


Sujet :

JDBC Java

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé
    Profil pro
    Inscrit en
    Février 2009
    Messages
    80
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2009
    Messages : 80
    Par défaut Connexion Oracle
    Salut à tous.

    Petit pépin de connexion à Oracle.
    J'utilise Eclipse Galileo + Oracle XE le tout fonctionnant sur Ubuntu 10.04.

    Aucun problème d'install' pour les deux, ils tournent très bien, mais je pèche sur la connexion à la base oracle:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    try {
                System.out.println(" try enter..........");
                Class.forName("oracle.jdbc.driver.OracleDriver");
                System.out.println("***** chargement driver OK *****");
    Je pense cela vient de là (puisque il plante avant "***** chargement driver OK *****").

    Quelqu'un connait-il les subtilités de class.forname "oracle.jdbc.driver.OracleDriver" ?

    Je suis sûr qu'il me manque quelque chose à ce niveau (sûrement dans le JRE system library), mais je ne sais pas quoi....

    J'ai déjà utilisé ces outils sur Windows, il doit falloir autre chose pour Linux, non ?

    Merci d'avance pour votre aide.

  2. #2
    Rédacteur/Modérateur
    Avatar de Laurent.B
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Novembre 2004
    Messages
    3 468
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 52
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Novembre 2004
    Messages : 3 468
    Par défaut
    Bonjour,

    A priori il ne manque rien d'autre que de référencer la jar du driver Oracle, là où il se trouve.

    Cf. http://eclipse.developpez.com/faq/?p...ent#ajouterJar pour savoir comment référencer un jar quel qu'il soit.
    Responsable FAQ Eclipse | Maintiens et développe un des logiciels destinés aux rédacteurs sur developpez.com
    Gardons toujours à l'esprit que le forum constitue une base documentaire, dont l'utilité et la qualité dépendent du soin apporté à nos questions et nos réponses. Soyons polis, précis (dans le titre et dans le corps des questions), concis, constructifs et faisons de notre mieux pour respecter la langue française et sa grammaire. Merci pour nous (les modérateurs) mais aussi et surtout, merci pour vous.
    Problème solutionné => je vais au bas de la page et je clique sur le bouton (qui suite à mise à jour du forum, a légèrement changé d'aspect).

  3. #3
    Membre confirmé
    Profil pro
    Inscrit en
    Février 2009
    Messages
    80
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2009
    Messages : 80
    Par défaut
    Oui, merci laurent, c'est bien ça.

    Effectivement, je l'avais deja fait auparavant. Il m'a juste fallu retrouver le fichier odbc14.jar et l'ajouter au Build Path.

    Par contre, je suis confronté maintenant à un probleme que je connais pas du tout et sur lequel je ne comprends vraiment rien.

    Voilà le code (la suite du precedant):
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    try {
        System.out.println(" try enter..........");
        Class.forName("oracle.jdbc.driver.OracleDriver");
        System.out.println("***** chargement driver OK *****");
        conn1 = DriverManager.getConnection("jdbc:oracle:thin:localhost:1521:sys","motoseb","sebastien");
        System.out.println("***** connexion OK *****");
    } catch
    Et voilà l'erreur:
    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
    J'ai deja essayé de remplacer "localhost" par "127.0.0.1", essayé egalement le nom de la base en "sys", "system", et meme le nom du user mais rien n'y fait.
    Je me demande si ce n'est pas un problème de compatibilité.

    Je commence à peine a développer et je ne comprends pas ce qui se passe.

    Quelqu'un saurait-il m'expliquer le problème ?

    Merci d'avance pour votre aide.

  4. #4
    Modérateur
    Avatar de Alkhan
    Homme Profil pro
    ingénieur full stack
    Inscrit en
    Octobre 2006
    Messages
    1 232
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : ingénieur full stack

    Informations forums :
    Inscription : Octobre 2006
    Messages : 1 232
    Par défaut
    bonjour,

    selon l'erreur que tu as indiqué, lors de la demande de connexion le listener n'a pas trouvé le SID "sys".
    Je ne sais plus comment ils sont créés au niveau du listener, mais tu peux voir ceux qui existent en consultant le fichier tnsnames.ora.

    Par defaut, ce doit être "orcl", et c'est ce que semble dire le message en plus !
    Il n'y a pas de problème, il n'y a que des solutions.
    Cependant, comme le disaient les shadoks, s'il n'y a pas de solution, c'est qu'il n'y a pas de problème.
    Si toutefois le problème persiste, la seule solution restante est de changer le périphérique qui se trouve entre la chaise et l'écran

    Mes Articles : Mon premier article est sur le language D
    N'oubliez pas de consulter les FAQ Java et les cours et tutoriels Java

  5. #5
    Membre confirmé
    Profil pro
    Inscrit en
    Février 2009
    Messages
    80
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2009
    Messages : 80
    Par défaut
    salut...
    Alors, de retour après quelques jours d'abscence, je ne parviens toujours pas à me connecter à ma base Oracle.
    Merci Sebastien d'avoir répondu. Je me suis donc penché sur le "tnsnames.ora" ainsi que sur le "listner.ora".
    Il semblerai que le SID soit "XE" (normal puisque "Oracle -xe" !!), mais je constate apres l'édition des fichiers qu'il m'apparaît plusieurs SID en fonction de ces derniers.
    Edition du tnsnames.ora en console:
    # tnsnames.ora Network Configuration File:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    XE =
      (DESCRIPTION =
        (ADDRESS = (PROTOCOL = TCP)(HOST = ordibaby)(PORT = 1521))
        (CONNECT_DATA =
          (SERVER = DEDICATED)
          (SERVICE_NAME = XE)
        )
      )
    
    EXTPROC_CONNECTION_DATA =
      (DESCRIPTION =
        (ADDRESS_LIST =
          (ADDRESS = (PROTOCOL = IPC)(KEY = EXTPROC_FOR_XE))
        )
        (CONNECT_DATA =
          (SID = PLSExtProc)
          (PRESENTATION = RO)
        )
      )
    On constate en Gras que le nom de la base est bien "xe". Mais rien n'y fait, ni en minuscule ni en majuscule. Bien que je ne sois pas convaincu que ce soit case sensitive!.

    Edition du listner.ora en console:
    # listener.ora Network Configuration File:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    SID_LIST_LISTENER =
      (SID_LIST =
        (SID_DESC =
          (SID_NAME = PLSExtProc)
          (ORACLE_HOME = /usr/lib/oracle/xe/app/oracle/product/10.2.0/server)
          (PROGRAM = extproc)
        )
      )
    
    LISTENER =
      (DESCRIPTION_LIST =
        (DESCRIPTION =
          (ADDRESS = (PROTOCOL = IPC)(KEY = EXTPROC_FOR_XE))
          (ADDRESS = (PROTOCOL = TCP)(HOST = ordibaby)(PORT = 1521))
        )
      )
    
    DEFAULT_SERVICE_LISTENER = (XE)
    Alors là, toujours en gras, on distingue un "SID_NAME" renseigné à "PLSExtProc", tout comme dans l'édition du tnsnames.ora plus haut. (Ca ne fonctionne pas non plus!).
    Enfin, dans un autre tnsnames.ora, dans le repertoire "Sample", je trouve l'extrait suivant:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    (CONNECT_DATA=
                    (SID=<oracle_sid>)
                    [ (GLOBAL_NAME=<global_database_name>) ]
                  )
    Là encore ca change!...
    Et dans le repertoire "HS", SID renseigné à "hsagent"!...un peu plus inquiétant!
    hsagent =
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    #  (DESCRIPTION=
    #    (ADDRESS=(PROTOCOL=tcp)(HOST=localhost)(PORT=1521))
    #    (CONNECT_DATA=(SID=hsagent))
    #    (HS=)
    Quoi qu'il en soit, j'ai tout essayé et rien ne fonctionne. Toujours la meme erreur.
    C'est a s'arracher les cheveux!Je ne comprends pas du tout et m'en remet a vos idées ou explications.
    Je n'aime pas ne pas comprendre!!!...
    Et comme l'a si bien dit Sébastien, il y a forcément une solution et une explication à ca!

    Merci encore pour vos réponses.

  6. #6
    Modérateur
    Avatar de Alkhan
    Homme Profil pro
    ingénieur full stack
    Inscrit en
    Octobre 2006
    Messages
    1 232
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : ingénieur full stack

    Informations forums :
    Inscription : Octobre 2006
    Messages : 1 232
    Par défaut
    As tu tout simplement essayé de te connecter en utilisant le SID XE ?
    Il n'y a pas de problème, il n'y a que des solutions.
    Cependant, comme le disaient les shadoks, s'il n'y a pas de solution, c'est qu'il n'y a pas de problème.
    Si toutefois le problème persiste, la seule solution restante est de changer le périphérique qui se trouve entre la chaise et l'écran

    Mes Articles : Mon premier article est sur le language D
    N'oubliez pas de consulter les FAQ Java et les cours et tutoriels Java

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Réponses: 2
    Dernier message: 02/12/2005, 04h28
  2. Connexion à Oracle Entreprise Manager
    Par black_code dans le forum Entreprise Manager
    Réponses: 4
    Dernier message: 11/11/2005, 14h29
  3. Connexion à Oracle depuis EXCEL
    Par Megaxel dans le forum Macros et VBA Excel
    Réponses: 1
    Dernier message: 07/10/2005, 12h04
  4. connexion oracle - choix d'architecture et langage
    Par ludvo dans le forum Général Conception Web
    Réponses: 8
    Dernier message: 13/09/2005, 21h33
  5. [Oracle] Pb connexion ORACLE (PHP5)
    Par Mikl dans le forum PHP & Base de données
    Réponses: 7
    Dernier message: 19/05/2005, 19h23

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo