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 :

Pb de conn. à Oracle [Débutant(e)]


Sujet :

JDBC Java

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre éclairé
    Homme Profil pro
    Inscrit en
    Avril 2005
    Messages
    307
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 41
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations forums :
    Inscription : Avril 2005
    Messages : 307
    Par défaut Pb de conn. à Oracle
    Salut à tous !

    Je voudrais me connecter à une BD Oracle en java. J'ai un pb lors de la connexion :
    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
    import java.io.*  ; 
    import java.sql.* ; 
     
    public class JDBC_1 {
     
        private Connection con ; 
     
        /** 
        *  Chargement du pilote JDBC puis creation de la connection 
        */ 
        public void init() 
        { 
           try { 
               Class.forName("oracle.jdbc.driver.OracleDriver") ; 
               con = DriverManager.getConnection("jdbc:oracle:thin:@localhost:1521:XE","user","mdp") ; 
           } 
           catch(ClassNotFoundException e0) { 
               System.out.println("--> ClassNotFoundException : " + e0) ; 
           } 
           catch(SQLException e1) { 
               System.out.println("--> SQLException : " + e1) ; 
           } 
           catch(Exception e2) { 
               System.out.println("--> Exception : " + e2) ; 
           } 
        } 
     
       public static void main(String args[]) 
       {
          JDBC_1 tq = new JDBC_1(); 
          tq.init();
       } 
     
    }
    L'exception relevée est la suivante :
    --> ClassNotFoundException : java.lang.ClassNotFoundException: oracle.jdbc.driver.OracleDriver
    Quelqu'un sait d'où cela peut venir ? Pour info, sur ma machine j'ai installé Oracle 10 XE.

  2. #2
    Membre confirmé
    Profil pro
    Inscrit en
    Juin 2004
    Messages
    135
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2004
    Messages : 135
    Par défaut
    Salut!

    Je crois que ce que tu mets dans classeForName n'est pas exact.

    Voici une classe connexion que j'ai crée pour me connecter a oracle 10 g.

    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
    import java.sql.Connection;
    import java.sql.DriverManager;
    import java.sql.SQLException;
     
    public class Connexion {
     
    	private Connection conn;
     
    	public Connexion() throws ClassNotFoundException
    	{
    		String url = "jdbc:odbc:odbc_oracle";
    		Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");
     
    		try {
    			conn = DriverManager.getConnection(url,"ben","ben");
    		} catch (SQLException e) {
    			// TODO Auto-generated catch block
    			e.printStackTrace();
    		}		
    	}
     
    	public Connection getConnection()
    	{
    		return this.conn;
    	}
     
    }
    sinon as tu bien fait ta liaison jdbc?

  3. #3
    Membre éclairé
    Homme Profil pro
    Inscrit en
    Avril 2005
    Messages
    307
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 41
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations forums :
    Inscription : Avril 2005
    Messages : 307
    Par défaut
    Citation Envoyé par djsbens
    sinon as tu bien fait ta liaison jdbc?
    c'est peut-être ça le pb. Ca consiste en quoi la liaison jdbc ?

  4. #4
    Membre confirmé
    Profil pro
    Inscrit en
    Juin 2004
    Messages
    135
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2004
    Messages : 135
    Par défaut
    en fait pour te connecter a oracle il faut que tu passes par odbc.

    POur en savoir plus http://java.developpez.com/faq/jdbc/

    c'est très bien expliqué...

  5. #5
    Membre éclairé
    Homme Profil pro
    Inscrit en
    Avril 2005
    Messages
    307
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 41
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations forums :
    Inscription : Avril 2005
    Messages : 307
    Par défaut
    merci bcp pour ton aide ! je vais voir ça tout de suite.

  6. #6
    BiM
    BiM est déconnecté
    Expert confirmé
    Avatar de BiM
    Femme Profil pro
    Consultante/Formatrice BIRT & Ingénieur Java/J2EE/GWT
    Inscrit en
    Janvier 2005
    Messages
    7 796
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Âge : 39
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Consultante/Formatrice BIRT & Ingénieur Java/J2EE/GWT

    Informations forums :
    Inscription : Janvier 2005
    Messages : 7 796
    Par défaut
    Le driver pour Oracle se trouve dans classes11.jar, il est téléchargeable, après, il faut trouver où...

  7. #7
    Membre confirmé
    Profil pro
    Inscrit en
    Juin 2004
    Messages
    135
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2004
    Messages : 135
    Par défaut
    s'il a installé oracle le driver odbc doit etre installé non? Il devrait surement le trouver dans la liste des drivers lorqu'il créera sa connexion odbc.

    Personnelement je n'ai pas eu besoin d'installer un driver pour me connecter a oracle 10g.

    Ou alors a l'issu de mon plein gré!

  8. #8
    BiM
    BiM est déconnecté
    Expert confirmé
    Avatar de BiM
    Femme Profil pro
    Consultante/Formatrice BIRT & Ingénieur Java/J2EE/GWT
    Inscrit en
    Janvier 2005
    Messages
    7 796
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Âge : 39
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Consultante/Formatrice BIRT & Ingénieur Java/J2EE/GWT

    Informations forums :
    Inscription : Janvier 2005
    Messages : 7 796
    Par défaut
    Il faut ajouter l'archive contenant le driver au library path.

  9. #9
    Membre éclairé
    Homme Profil pro
    Inscrit en
    Avril 2005
    Messages
    307
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 41
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations forums :
    Inscription : Avril 2005
    Messages : 307
    Par défaut
    J'ai installé le serveur Oracle 10 XE (je pense qu'il n'a pas de client). Dans le répertoire d'installation j'ai un répertoire 'jlib' qui contient le fichier 'orai18n.jar'. C'est peut-être celle là ?

    Sinon j'ai un peu modifier le script. Aucune exception n'est levée, et la connexion à l'air d'être effectuée (puisque qd je mets un mauvais login, il m'affiche l'erreur "invalid username/password; logon denied".

    Cependant, qd je mets les bons login et mot de passe, à la fin du script la fenêtre suivante s'affiche :


  10. #10
    Membre éclairé
    Homme Profil pro
    Inscrit en
    Avril 2005
    Messages
    307
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 41
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations forums :
    Inscription : Avril 2005
    Messages : 307
    Par défaut
    Oops, j'ai oublié d'afficher les modifications effectuées

    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
    import java.io.*  ;
    import java.sql.* ; 
     
    public class JDBC_1 {
     
        private Connection con ; 
     
        /** 
        *  Chargement du pilote JDBC puis creation de la connection 
        */ 
        public void init() 
        { 
           try {
     
               Class.forName("sun.jdbc.odbc.JdbcOdbcDriver") ; 
               con = DriverManager.getConnection("jdbc:odbc:XE","user","pwd") ; 
           } 
           catch(ClassNotFoundException e0) { 
               System.out.println("--> ClassNotFoundException : " + e0) ; 
           } 
           catch(SQLException e1) { 
               System.out.println("--> SQLException : " + e1) ; 
           } 
           catch(Exception e2) { 
               System.out.println("--> Exception : " + e2) ; 
           } 
        } 
     
      public static void main(String args[]) 
      {
          JDBC_1 tq = new JDBC_1(); 
          tq.init();
      } 
     
    }
    J'ai rajouté ORACLE dans les Sources de données :

  11. #11
    Membre confirmé
    Profil pro
    Inscrit en
    Juin 2004
    Messages
    135
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2004
    Messages : 135
    Par défaut
    ton test de connexion via odbc fonctionne?

  12. #12
    Membre averti
    Profil pro
    Inscrit en
    Octobre 2004
    Messages
    34
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2004
    Messages : 34
    Par défaut
    Bonjour
    essaye de procéder comme suite et tu n'est plus besoin de créer une connexion odbc via l'utilitaire ODBC de microsoft
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
    Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");
              url= "jdbc:odbc:Driver={Oracle in XE}";
              con = DriverManager.getConnection(url,"user","pwd");

  13. #13
    Rédacteur
    Avatar de lunatix
    Homme Profil pro
    Architecte technique
    Inscrit en
    Novembre 2002
    Messages
    1 960
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Val de Marne (Île de France)

    Informations professionnelles :
    Activité : Architecte technique

    Informations forums :
    Inscription : Novembre 2002
    Messages : 1 960
    Par défaut
    tu n'as absolument pas besoins d'utiliser Odbc pour te connecter a oracle en java ! Ni meme le client oracle d'ailleurs.
    c'est d'ailleurs une mauvaise idée de passer par odbc en général, a cause des problemes de performances.

    Tout ce qu'il te faut, c'est le drivers JDBC (fourni par oracle) qui change souvent de nom (classe11.jar, classe12.jar, ojdbc.jar...) en fonction de la version d'oracle.

    ton code de depart semble bon, il lui manque juste ce driver (un .jar) dans le classpath de ton application

Discussions similaires

  1. Cryptage de colonnes sous Oracle
    Par Julian Roblin dans le forum SQL
    Réponses: 9
    Dernier message: 28/11/2006, 18h24
  2. [Comparatif] DB2, Oracle et SQLServer
    Par Laurent MALAVASI dans le forum Décisions SGBD
    Réponses: 6
    Dernier message: 25/10/2002, 12h26
  3. [VB6] Connection ODBC Oracle
    Par babe dans le forum VB 6 et antérieur
    Réponses: 3
    Dernier message: 07/10/2002, 16h52
  4. [Kylix] sqlconnection + oracle
    Par tibo55555 dans le forum EDI
    Réponses: 1
    Dernier message: 02/09/2002, 09h09
  5. Problème d'installation oracle 8.1.7 sous NT
    Par Anonymous dans le forum Installation
    Réponses: 7
    Dernier message: 02/08/2002, 14h18

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