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 -
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.
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
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:
- Connection à une base donnees oracle 11g
- Fuite données maif - Guide
- Se connecter à gmail sur téléphone - Guide
- Base de registre - Guide
- Comment connecter chromecast à la télé - Guide
- Supprimer les données de navigation - Guide
2 réponses
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
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
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.
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.
"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.
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
mais ce n'est pas la même syntaxe que toi