En forçant la recherche des tables dans le schéma public, vous n'avez plus que vos propres tables. Par contre, si vous stockez des tables dans d'autres schémas, il faudra exécuter la fonction sur chacun de vos schémas.
]]>... et ça marche ! Avec cette ligne : res = md.getTables(null, "public", "%", new String[] {"TABLE"});
J'ai une petite question supplémentaire, le "public" est spécifique à quoi ? phpPgAdmin ? Wamp ? Ou carrément PostgreSQL (ça m'étonnerait) ? Simplement pour savoir si ça fonctionnera sur la base de données de mon prof
En tout cas, merci pour cette réponse rapide et efficace !
]]>vous devriez essayer en spécifiant le schéma «public» (2ème argument de getTables() ) plutôt que tous les schémas.
J'ai également déplacé le sujet dans la partie Java du forum, plus approprié pour cette question.
]]>Je suis actuellement étudiant en informatique et pour le besoin d'un projet, je me dois de configurer une base PostgreSQL en local. J'ai choisi de le faire avec phpPgAdmin sous Wamp, mais le problème est que l'arborescence de la BDD est bizarre, ce qui fait que je n'arrive pas à récupérer les tables de la base.
Voici la structure de la base T3 sous pgAdmin III : https://dl.dropboxusercontent.com/u/616 … ostgre.png
En rouge : les tables récupérées mais que je ne veux pas
En vert : les 2 tables que je souhaite récupérer
Voici la partie du code concerné (en JAVA) :
try {
Class.forName("org.postgresql.Driver");
try {
Connection c = DriverManager.getConnection("jdbc:postgresql://localhost:5432/T3","postgres", "root");
DatabaseMetaData md = null;
ResultSet res;
// Initialisation de la variable de méta données
try {
md = c.getMetaData();
} catch (SQLException e1) {
e1.printStackTrace();
}
try {
res = md.getTables(null, null, "%", null);
while (res.next()) {
System.out.println(res.getString("TABLE_NAME");
}
}catch (SQLException e) {
e.printStackTrace();
}
} catch (SQLException e) {
e.printStackTrace();
}
} catch (ClassNotFoundException e) {
e.printStackTrace();
}
Quelqu'un aurait une idée ? Merci.
]]>