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 :

Problème ORA-12505 Problème de port à la compilation


Sujet :

JDBC Java

  1. #1
    Membre à l'essai
    Profil pro
    Inscrit en
    Octobre 2006
    Messages
    16
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2006
    Messages : 16
    Points : 12
    Points
    12
    Par défaut Problème ORA-12505 Problème de port à la compilation
    Bonjour tout le monde

    Débutante en java je veux me connecter à Oracle 10.g en java .
    Pour expliquer mon problème je vous copie ci-dessous mon script de connexion avec une requ^te simple à la Base MyApp.
    Le script fonctionne bien !! Mon problème se situe lorsque je reboot mon pc !!
    Apparemment le port utilisé par Oracle bouge et change à chaque redémarrage !!! Comment le fixer ???

    Don voici l'erreur qui s'affiche lorsque je n'ai pas changé le numéro de port pour le faire coincider status qui se trouve dans lsnrctl !!!

    ORA-12505 Tns Listener does not currently know of Sid given in connect descript

    Voici le script :
    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
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
     
    import java.sql.*;
    import oracle.jdbc.driver.*;
     
     
    class TestJDBC{
       String sQuery;
       TestJDBC(){
         this.sQuery="SELECT First_Name, Last_Name FROM EMPLOYEES ORDER BY First_Name";
         Statement sStat=null;
         Connection cCon=null;
         try{
            Class cDriverOracle=Class.forName("oracle.jdbc.driver.OracleDriver");
            Driver dDriverOracle=(java.sql.Driver)cDriverOracle.newInstance();
            DriverManager.registerDriver(dDriverOracle);
            cCon=DriverManager.getConnection
        ("jdbc:oracle:thin:@fbidell2:1053:MyApp","hr","hr");
            }
            catch(Exception e){
              System.out.println("-- Prb avec le chargement du driver JDBC Oracle");
              e.printStackTrace();
              }
            try{
               sStat=cCon.createStatement();
                ResultSet rs=sStat.executeQuery(sQuery);
                while (rs.next())  {
     
                 System.out.println(" prenom " +rs.getObject(1) + " nom " +rs.getObject(2));
     
                  }
                 sStat.close();
                 }
     
                 catch(Exception sqlE){
                  System.out.println("La requete n'a pas abouti");
                  sqlE.printStackTrace();
                  }
               }
     
               public static void main(String[] sArgs){
                 TestJDBC tj=new TestJDBC();
                 }
              }

    Si qlq a une petite idée sur la chose ?? ça doit pas être très grave mais c'est quand même génant !!!

    Merci d'avance pour m'aider à résoudre mon Prob !!!

  2. #2
    Membre éclairé
    Avatar de bbclone
    Profil pro
    Inscrit en
    Mai 2006
    Messages
    537
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Mai 2006
    Messages : 537
    Points : 704
    Points
    704
    Par défaut
    le message est quand meme clair :-))

    sur ton serveur fbidell2 il n'y a pas d'instance qui s'apelle MyApp.

    si tu a un client oracle installer sur ta machine, esaye de faire un tnsping pour voir

  3. #3
    Membre à l'essai
    Profil pro
    Inscrit en
    Octobre 2006
    Messages
    16
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2006
    Messages : 16
    Points : 12
    Points
    12
    Par défaut
    j'ai essayé ton tnsping fbidell2 et voici le message qui en ressort :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     
    Attempting to contact <DESCRIPTION=(CONNECT_DATA=(SERVICE_NAME=))(ADRESS=(PROTOCOL=TCP)(HOST=192.168.0.9)(PORT=1521)))
    OK 110 msec
    J'avais bien sûr aussi déjà faite le test dans le script dans la connexion oracle en faisant coller le host et le port comme ci -dessus !!! Mais le problème persiste !!!
    Pour te donner une info supplémentaire quand ça fonctionne si ça peut te permettre de voir le prob !!! Je lance lsnrctl status et là s'affiche la même chose que ci -dessus :: c'est à dire pour le host fbidell2 et port 1521 mais si je vais voir dans services là le host toujours fbidell2 mais le port est différent !!! et celui là si je le porte dans mons script ça fonctionne !!

    En espérant que ces détails te permettent de meieux cerner mon prob pour m'aider à le résoudre !!
    Merci

  4. #4
    Membre expert
    Avatar de TheLeadingEdge
    Inscrit en
    Mai 2005
    Messages
    1 199
    Détails du profil
    Informations forums :
    Inscription : Mai 2005
    Messages : 1 199
    Points : 3 103
    Points
    3 103
    Par défaut
    Class cDriverOracle=Class.forName("oracle.jdbc.driver.OracleDriver");
    Driver dDriverOracle=(java.sql.Driver)cDriverOracle.newInstance();
    DriverManager.registerDriver(dDriverOracle);
    Bé si ton driver il est pas enregistré là !!
    Tu fais 3 fois la même chose !
    l'exécution de Class.forName doit appeler le chargeur statique de la classe Driver, et la classe Driver doit s'enregistrer ds DriverMananger lors de son init.
    Donc 1 seule des 3 lignes suffit.

    Pour ton pb as tu vérifié que ds ton tnsname que tu as 1 entrée sid = hr ?

    Sinon comme tu utilises 1 10g tu peux te connecter comme ça :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    cCon=DriverManager.getConnection("
    jdbc:oracle:thin:@(DESCRIPTION = (ADDRESS_LIST = (ADDRESS = (PROTOCOL = TCP)(HOST = 192.168.0.9) (PORT = 1521))) (CONNECT_DATA = (SID = HR)))")
    A +

    [edit] dsl j'ai pris HR pour valeur de SID au lieu de MyApp. Mais tu avais ss doute rectifié [/edit]

  5. #5
    Membre à l'essai
    Profil pro
    Inscrit en
    Octobre 2006
    Messages
    16
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2006
    Messages : 16
    Points : 12
    Points
    12
    Par défaut
    Merci à tous !! Le problème est réglé

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

Discussions similaires

  1. probleme ORA-12505 Connexion de l'agent à l'instance
    Par AlternantOracle dans le forum Administration
    Réponses: 10
    Dernier message: 20/10/2009, 16h50
  2. Connexion impossible : error: ORA-12505
    Par MIKKA dans le forum Connexions aux bases de données
    Réponses: 20
    Dernier message: 10/04/2009, 21h39
  3. connexion à la base ORA-12505 et
    Par big1 dans le forum Connexions aux bases de données
    Réponses: 2
    Dernier message: 26/12/2006, 15h28
  4. [Oracle][débutant] Erreur ORA-12505
    Par mavina dans le forum JDBC
    Réponses: 1
    Dernier message: 31/07/2006, 14h46
  5. ORA-12505 : le listener n'a pas pu résoudre le SID
    Par Veve44 dans le forum Oracle
    Réponses: 8
    Dernier message: 15/02/2006, 21h24

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