Connection à une base donnees oracle 11g

Résolu
Lemaestro77 Messages postés 19 Statut Membre -  
Lemaestro77 Messages postés 19 Statut Membre -
bonjour. je suis debutant sur java et je veux pouvoir me connecter a une base donnees oracle 11g. voila le code que j'ai recuperer mais ca me renvoie toujours connexion impossible.


import java.sql.*;
 
public class Connexion {
 
    Connection maConnexion;
     
    /*Permet d'ouvrir une connexion à la base de données,
     * en utilisant l'[/internet/url.php3 url] de la base passé en paramètre
     * et le driver jdbc
     * */
    public void ouvrirConnexion(String url) {
        try{
             
            //Charge le driver jdbc
            Class.forName("oracle.jdbc.driver.OracleDriver");
             
            //Connexion
            maConnexion=DriverManager.getConnection(url);
             
            System.out.println("Connexion établie !");
        }
         
        catch(ClassNotFoundException e){
            System.out.println("Impossible de charger le pilote!");
            return;
        }
         
        catch(SQLException e){
            System.out.println("Connexion impossible !");
            return;
        }
         
        }
 
    public static void main(String[] args) throws SQLException{
        String url="jdbc:oracle:thin:@xxx.xxx.xxx.xxx:1521:mabase";
        Connexion bd = new Connexion ();
        bd.ouvrirConnexion(url);
     
}
     
}



je ne sais pas exactement ou peut etre l'erreur. l'url fonctionne bien quand je connecte la base de données à partir de l'onglet service de netbeans.

merci d'avance

2 réponses

  1. jee pee Messages postés 31889 Date d'inscription   Statut Modérateur Dernière intervention   9 981
     
    Bonjour,

    Je ne connais pas particulièrement la syntaxe dans ton contexte. Mais dans la chaine complète de connexion à la base Oracle, en plus de l'ip du serveur, du port, et de l'ORACLE_SID (qu'il faut bien sur renseigner pas juste xxx.xxx.xxx.xxx:1521:mabase), il faut un nom de compte/mot de passe.

    Cdlt
    0
    1. Lemaestro77 Messages postés 19 Statut Membre
       
      merci. oui j'ai bien renseigné. le nom de compte et le mot de passe se renseigne sous quelle forme?
      0
    2. Lemaestro77 Messages postés 19 Statut Membre
       
      Merci pour ton aide. exactement il fallait que je specifie le nom d'utilisateur et le mot de passe.
      0
  2. KX Messages postés 19031 Statut Modérateur 3 020
     
    Bonjour,

    "je ne sais pas exactement ou peut etre l'erreur"
    Le problème c'est que les exceptions que tu pourrais obtenir tu les caches avec tes System.out.println, toutes les informations utiles sont perdues...
    De toute façon, si tu n'as pas de connexion à la base ton programme ne pourra rien faire donc faire un petit message et continuer quand même c'est inutile, il vaut mieux laisser une exception.

    try {
        // ...
    } catch(SQLException e) {
        throw new IllegalStateException("Connexion impossible : " + url, e);
    }

    Remarque : le Class.forName("oracle.jdbc.driver.OracleDriver") n'est utile qu'une fois au démarrage du programme, pas besoin de le faire à chaque connexion.
    0
    1. Lemaestro77 Messages postés 19 Statut Membre
       
      Merci pour ta reponse.
      0