Probleme de connexion via un BD JDbc

icha_7146
Probleme de connexion via un BD JDbc

Bonjour,
voilà mon code
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.sql.Statement;
public class Main
{
public static void main(String[] args) {
String url="jdbc:postgresql://localhost/5432/employer";
try {
Class.forName(url);
Connection connect=DriverManager.getConnection(url, "postgres", "1234");
Statement state=connect.createStatement();
ResultSet rs=state.executeQuery("select * from contact");
while (rs.next()) {
System.out.println(" "+rs.getInt("id")+","+rs.getString("nom")+","+rs.getString("prenom")+","+rs.getInt("age"));
}
rs.close();
state.close();
connect.close();
} catch (ClassNotFoundException e) {
System.err.println("Erreur Pilote");
} catch (SQLException e) {
System.out.println("erreur !!!");
}
}
}

il me donne erreur de pilote c a d l'exception qui gére l'url donc je ne ss pas ou est l'erreur dans mon url je me connecte a une bd postgresql dans le port 5432 user="postgre" password="1234"

Et merci d'avance :wink:

fredericmazue
Re: Probleme de connexion via un BD JDbc

Quote:
il me donne erreur de pilote c a d l'exception qui gére l'url

Ce qui sera bien c'est de donner le message d'erreur pour qu'on se fasse une idée.

Ceci étant ta chaine de connexion me semble fausse. Ce n'est pas plutôt

String url="jdbc:postgresql://localhost:5432/employer";

icha_7146
Re: Probleme de connexion via un BD JDbc

Salut Merci pour votre réponse oui j'ai essayé de changer l'URL comme tu me la mentionné et j'ai ajouté un e.getmessage dans le bloc catch pour savoir d'où viens l'erreur voilà le code

import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.sql.Statement;
public class Main
{
public static void main(String[] args) {
String url="jdbc:postgresql://localhost:5432/employe";
try {
Class.forName(url);
Connection connect=DriverManager.getConnection(url, "postgres", "1234");
Statement state=connect.createStatement();
ResultSet rs=state.executeQuery("select * from contact");
while (rs.next()) {
System.out.println(" "+rs.getInt("id")+","+rs.getString("nom")+","+rs.getString("prenom")+","+rs.getInt("age"));
}
rs.close();
state.close();
connect.close();
} catch (ClassNotFoundException e) {
System.err.println("Erreur Pilote"+ e.getMessage());
} catch (SQLException e) {
System.out.println("erreur !!!");
}
}
}

voilà l'affichage de l'exécution dans le console

Erreur Pilotejdbc:postgresql://localhost:5432/employe

Niroken
Re: Probleme de connexion via un BD JDbc

Hello

Pour te connecter a une base de données, tu dois crée un objet de type Connection, cette connection t'es fournie par le driver que tu vas utiliser pour te connecter à tel ou tel type de base de données.
Ca se traduit ainsi, si tu veux te connecter a une base postgresql, tu dois utiliser un driver postgresql.

Pour instancier ce driver tu dois procéder comme suit :

Class.forName("org.postgresql.Driver");

et non

Class.forName(url);

que j'ai vu dans ton code

Ceci dit, il faut bien sur que tu télécharges le jar qui te fournira ce driver et que tu l'ajoutes dans le classpath de ton application.

Bonne chance,
Niroken

icha_7146
Re: Probleme de connexion via un BD JDbc

bonjour ,

Super ça marche :wink:
je vous remercie infiniment Pour votre aide