Bonjour,
Bon depuis maintenant une petite heure j'essais de me connecter à mon SGBD Oracle Express 10.2.0.1.0. J'ai téléchargé le bon driver que j'ai ensuite ajouté au classpath du projet.
Le constructeur créé donc une connection
Je créé une instance de ma classe comme ceci:
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11 public DbConnection(String driver, String url, String dataBaseUserName, String dataBaseUserPassword) { try { Class.forName(driver); //we select the correct JDBC driver to open the database DriverManager.setLoginTimeout(5); connection = DriverManager.getConnection(url, dataBaseUserName, dataBaseUserPassword); dataBaseMetaData = connection.getMetaData(); statement = connection.createStatement(); }catch(ClassNotFoundException e) { System.out.println("Error when loading the driver : " + e.toString()); }catch(SQLException e) {} }
et je test la connection avec la méthode de la FAQ:
Code : Sélectionner tout - Visualiser dans une fenêtre à part dbConnection = new DbConnection("oracle.jdbc.OracleDriver", "jdbc:oracle:thin:@//127.0.0.1:8080:XE", "le_login", "le_password");
Résultat: impossible de se connecter. J'ai pourtant donc le bon driver que j'ai bien ajouté au projet. D'après la FAQ sur le site d'Oracle j'utilise la bonne URL, etc. Mon firewall est désactivé.
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 public boolean connexionIsValid() { //we test if the connexion has been made or not by pinging the DBMS if(connection == null) return false; ResultSet ping = null; try{ if(connection.isClosed()) return false; ping = connection.createStatement().executeQuery("SELECT 1"); return ping.next(); }catch(SQLException sqle){ return false; } finally{ if(ping != null) { try{ ping.close(); }catch(Exception e){} } } }
Où est donc l'erreur ?
Partager