Connection à une base donnees oracle 11g

Résolu
Lemaestro77 Messages postés 15 Date d'inscription   Statut Membre Dernière intervention   -  
Lemaestro77 Messages postés 15 Date d'inscription   Statut Membre Dernière intervention   -
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
A voir également:

2 réponses

jee pee Messages postés 41521 Date d'inscription   Statut Modérateur Dernière intervention   9 720
 
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
Lemaestro77 Messages postés 15 Date d'inscription   Statut Membre Dernière intervention  
 
merci. oui j'ai bien renseigné. le nom de compte et le mot de passe se renseigne sous quelle forme?
0
KX Messages postés 16761 Date d'inscription   Statut Modérateur Dernière intervention   3 020 > Lemaestro77 Messages postés 15 Date d'inscription   Statut Membre Dernière intervention  
 
De la même manière que tu as fait
maConnexion=DriverManager.getConnection(url);
tu as une méthode qui fait
DriverManager.getConnection(url, user, password)
;

Voir la documentation :
https://docs.oracle.com/javase/9/docs/api/java/sql/DriverManager.html
https://docs.oracle.com/javase/tutorial/jdbc/basics/connecting.html
0
jee pee Messages postés 41521 Date d'inscription   Statut Modérateur Dernière intervention   9 720 > Lemaestro77 Messages postés 15 Date d'inscription   Statut Membre Dernière intervention  
 
regarde : https://mkyong.com/jdbc/connect-to-oracle-db-via-jdbc-driver-java/
mais ce n'est pas la même syntaxe que toi
0
Lemaestro77 Messages postés 15 Date d'inscription   Statut Membre Dernière intervention  
 
Merci pour ton aide. exactement il fallait que je specifie le nom d'utilisateur et le mot de passe.
0
KX Messages postés 16761 Date d'inscription   Statut Modérateur Dernière intervention   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
Lemaestro77 Messages postés 15 Date d'inscription   Statut Membre Dernière intervention  
 
Merci pour ta reponse.
0