Connection à une base donnees oracle 11g

Résolu/Fermé
Lemaestro77 Messages postés 15 Date d'inscription mercredi 14 février 2018 Statut Membre Dernière intervention 20 mai 2019 - Modifié le 14 févr. 2018 à 10:13
Lemaestro77 Messages postés 15 Date d'inscription mercredi 14 février 2018 Statut Membre Dernière intervention 20 mai 2019 - 14 févr. 2018 à 16:13
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

jee pee Messages postés 39619 Date d'inscription mercredi 2 mai 2007 Statut Modérateur Dernière intervention 23 avril 2024 9 230
Modifié le 14 févr. 2018 à 10:49
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 mercredi 14 février 2018 Statut Membre Dernière intervention 20 mai 2019
14 févr. 2018 à 13:25
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 16733 Date d'inscription samedi 31 mai 2008 Statut Modérateur Dernière intervention 31 janvier 2024 3 015 > Lemaestro77 Messages postés 15 Date d'inscription mercredi 14 février 2018 Statut Membre Dernière intervention 20 mai 2019
14 févr. 2018 à 13:42
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 39619 Date d'inscription mercredi 2 mai 2007 Statut Modérateur Dernière intervention 23 avril 2024 9 230 > Lemaestro77 Messages postés 15 Date d'inscription mercredi 14 février 2018 Statut Membre Dernière intervention 20 mai 2019
14 févr. 2018 à 13:51
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 mercredi 14 février 2018 Statut Membre Dernière intervention 20 mai 2019
14 févr. 2018 à 13:56
Merci pour ton aide. exactement il fallait que je specifie le nom d'utilisateur et le mot de passe.
0
KX Messages postés 16733 Date d'inscription samedi 31 mai 2008 Statut Modérateur Dernière intervention 31 janvier 2024 3 015
14 févr. 2018 à 13:33
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 mercredi 14 février 2018 Statut Membre Dernière intervention 20 mai 2019
14 févr. 2018 à 16:13
Merci pour ta reponse.
0