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

Connexions aux bases de données Oracle Discussion :

Sql-Plus : Informations JDBC


Sujet :

Connexions aux bases de données Oracle

  1. #1
    Membre du Club
    Inscrit en
    Décembre 2008
    Messages
    136
    Détails du profil
    Informations forums :
    Inscription : Décembre 2008
    Messages : 136
    Points : 64
    Points
    64
    Par défaut Sql-Plus : Informations JDBC
    Bonjour,

    je n'arrive actuellement pas a me connecter a une base de donnée oracle par le biais de mon programme java (jdbc). Je présume que le numéro de port que j'indique dans l'url est erroné.
    Par contre, j'arrive a me connecter sur cette base avec SQL Plus. Ma question est donc la suivante : est-il possiblem dans SQL-Plus, de savoir sur quel port est le listener et / ou d'obtenir d'autres informations me permettant d'eviter le "java.sql.SQLException: E/A-Exception: The Network Adapter could not establish the connection" lorsque je me connecte en jdbc ?

    ( Il m'est impossible de demander au DBA )

  2. #2
    Membre habitué
    Inscrit en
    Février 2009
    Messages
    127
    Détails du profil
    Informations forums :
    Inscription : Février 2009
    Messages : 127
    Points : 146
    Points
    146
    Par défaut
    Bonjour,

    En regardant dans le fichier tnsname.ora tu devrais trouver ton bonheur.
    Sylvain


  3. #3
    Membre du Club
    Inscrit en
    Décembre 2008
    Messages
    136
    Détails du profil
    Informations forums :
    Inscription : Décembre 2008
    Messages : 136
    Points : 64
    Points
    64
    Par défaut
    Merci pour ta réponse. Le fichier tnsname.ora n'est accessible que coté serveur non ? Je n'ai malheuresement pas accès au serveur ( DBA en maladie )

  4. #4
    Membre habitué
    Inscrit en
    Février 2009
    Messages
    127
    Détails du profil
    Informations forums :
    Inscription : Février 2009
    Messages : 127
    Points : 146
    Points
    146
    Par défaut
    Lorsque tu te connectes via sqlplus, c'est à partir de ton poste (dans une fenêtre cmd) ou par un telnet sur le serveur directement ?

    Dans sqlplus tu dois taper qq chose de la forme :
    Le toto doit être déclaré dans le tnsnames.ora.
    Si c'est depuis ton poste alors il doit etre declaré dans le tnsnames.ora de ton poste. Sinon, en effet, il prendra les paramètres sur le serveur.
    Sylvain


  5. #5
    Membre du Club
    Inscrit en
    Décembre 2008
    Messages
    136
    Détails du profil
    Informations forums :
    Inscription : Décembre 2008
    Messages : 136
    Points : 64
    Points
    64
    Par défaut
    Lorsque je me connecte, c'est a partir de mon poste. J'ouvre SQLPlus, une fenetre me demande d'indiquer le login, password, et l'adresse de l'host, et ensuite, j'ai acces a une ligne de commande SQL >
    Si lui arrive à se connecter, c'est bien qu'il lit le numéro du port quelque part non ? Et le tnsnames.ora ne se trouve pas sur mon poste, si ?
    En tout cas merci pour ton aide.

  6. #6
    Membre habitué
    Inscrit en
    Février 2009
    Messages
    127
    Détails du profil
    Informations forums :
    Inscription : Février 2009
    Messages : 127
    Points : 146
    Points
    146
    Par défaut
    Sur mon poste il se trouve dans C:\Oracle.
    De manière générale, il se trouve dans le répertoire d'install du client Oracle.
    Sylvain


  7. #7
    Membre du Club
    Inscrit en
    Décembre 2008
    Messages
    136
    Détails du profil
    Informations forums :
    Inscription : Décembre 2008
    Messages : 136
    Points : 64
    Points
    64
    Par défaut
    Rah je deviens fou, impossible de trouver ce fichier sur mon pc. Sur un autre pc ou j'avais installé Oracle 10g Express Edtion, je trouve ce fichier, mais pas sur mon pc. C'est rageant !

  8. #8
    Membre habitué
    Inscrit en
    Février 2009
    Messages
    127
    Détails du profil
    Informations forums :
    Inscription : Février 2009
    Messages : 127
    Points : 146
    Points
    146
    Par défaut
    Lorsque tu dis que tu mets "l'adresse de l'host" dans sqlplus ça correspond à quoi ?

    Es tu sur d'avoir installé le client Oracle ? Si tu as sqlplus j'imagine que oui ...
    Sylvain


  9. #9
    Membre du Club
    Inscrit en
    Décembre 2008
    Messages
    136
    Détails du profil
    Informations forums :
    Inscription : Décembre 2008
    Messages : 136
    Points : 64
    Points
    64
    Par défaut
    Oui, j'ai bien un client oracle d'installé ( Oracle 9.2.0, en l'occurence, ce n'est pas moi qui l'ait installé ).
    Ce que j'appelle le host, c'est le nom de la base + nom du serveur. En indiquant cela, la connexion par le biais de SQLPlus s'effectue correctement, et je peux faire differentes requetes.

  10. #10
    Membre habitué
    Inscrit en
    Février 2009
    Messages
    127
    Détails du profil
    Informations forums :
    Inscription : Février 2009
    Messages : 127
    Points : 146
    Points
    146
    Par défaut
    nom de la base + nom du serveur
    Sous quel forme exactement ?

    Soit tu utilises iSQLPLUS et là il te demande User Name, Password et Host string.
    Soit tu utilises sqlplus en ligne de commande et là tu peux te connecter par
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    sqlplus USER/PWD@INSTANCE
    Pour ma part, dans les 2 cas je renseigne Host String et instance par la même valeur 'INSTANCE'.
    Cette valeur vient du tnsnames.ora qui est de la forme
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    SERVICE.WORLD = 
      (DESCRIPTION = 
        (ADDRESS_LIST = 
          (ADDRESS = (PROTOCOL = TCP)(HOST = toto.fr)(PORT = 1521)) 
        ) 
        (CONNECT_DATA = 
          (SERVICE_NAME = SERVICE.WORLD) 
          (INSTANCE_NAME = INSTANCE) 
        ) 
      )
    Par défaut le listener ecoute sur le port 1521 mais ça peut etre modifié.
    Je n'ai pas pensé à te demander mais as tu testé ce port ?

    Peux tu donner ta chaine de connection JDBC ?
    Sylvain


  11. #11
    Membre du Club
    Inscrit en
    Décembre 2008
    Messages
    136
    Détails du profil
    Informations forums :
    Inscription : Décembre 2008
    Messages : 136
    Points : 64
    Points
    64
    Par défaut
    J'utilise SQLPlus, mais je ne me connecte pas en ligne de commande. A l'ouverture du programme, une fenetre s'ouvre dans laquelle j'indique
    le nom d'utilisateur, le mot de passe, et le host string ( pas sur des mots exactes, j'utilise une version en allemand ).
    Pour le Host Stringm j'indique quelque chose du type NumeroBDD.domaine
    Je me connecte en JDBC de la maniere suivante :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    con = DriverManager.getConnection("jdbc:oracle:thin:@domaine:1521:NumeroBDD", "login","password");
    ET j'obtiens l'erreur suivante :
    java.sql.SQLException: E/A-Exception: The Network Adapter could not establish the connection

    Je doute du numéro de port, c'est pour ca que je pense qu'il y avait peut etre une solution pour le "recuperer" par le biais de SQLPlus.
    En tout cas je te remercie pour ton aide assidue

  12. #12
    Membre habitué
    Inscrit en
    Février 2009
    Messages
    127
    Détails du profil
    Informations forums :
    Inscription : Février 2009
    Messages : 127
    Points : 146
    Points
    146
    Par défaut
    Ok

    Sinon il y a peut etre une astuce en utilisant TCPview.
    Tu te connectes via sqlplus et tu devrais voir apparaitre une ligne dans TCPview.

    Dans mon cas par exemple je vois bien le port de destination utilisé :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    sqlplusw.exe:3120	TCP	localhost:2338	serveur.fr:1521	ESTABLISHED
    Normalement pour te connecter en jdbc c'est dee la forme
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    con = DriverManager.getConnection("jdbc:oracle:thin:@nom_serveur:1521:NomBDD", "login","password");
     
    con = DriverManager.getConnection("jdbc:oracle:thin:@ip_serveur:1521:NomBDD", "login","password");
    Après je commence à secher ...
    Sylvain


  13. #13
    Membre du Club
    Inscrit en
    Décembre 2008
    Messages
    136
    Détails du profil
    Informations forums :
    Inscription : Décembre 2008
    Messages : 136
    Points : 64
    Points
    64
    Par défaut
    Ca y est, j'ai finalement reussi a mettre la main sur le tnsnames.ora, en contactant le DBA en maladie. En fait, il ne se trouve pas en local sur mon pc, mais sur un disque dur en réseau. Pour tout dire, c'etait le port 15400
    En tout cas, merci beaucoup encore pour ton aide iSylvain !

  14. #14
    Membre habitué
    Inscrit en
    Février 2009
    Messages
    127
    Détails du profil
    Informations forums :
    Inscription : Février 2009
    Messages : 127
    Points : 146
    Points
    146
    Par défaut
    Ok cool alors
    Sinon TCPView aurait pu t'aider à le voir dans le pire des cas.

    ++
    Sylvain


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

Discussions similaires

  1. Réponses: 4
    Dernier message: 17/07/2009, 17h25
  2. [SQL*Plus] génération dynamique du fichier de spool
    Par lalystar dans le forum Oracle
    Réponses: 3
    Dernier message: 06/12/2004, 10h44
  3. Réponses: 2
    Dernier message: 17/11/2004, 10h50
  4. Réponses: 2
    Dernier message: 01/06/2004, 15h08
  5. listage de triggers/sequences avec sql plus
    Par stross dans le forum Oracle
    Réponses: 52
    Dernier message: 20/04/2004, 15h41

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