Liste des tables d'oracle...

Signaler
Messages postés
6
Date d'inscription
mardi 18 février 2003
Statut
Membre
Dernière intervention
31 mars 2008
-
Messages postés
6
Date d'inscription
mardi 18 février 2003
Statut
Membre
Dernière intervention
31 mars 2008
-
Mon code :

connect = DriverManager.getConnection(url,login,pass);
metadata = connect.getMetaData();
res = metadata.getTables("nom_base", null, null, null);
while (res.next()) {
System.out.println(" >> Tables : "+res.getString("TABLE_NAME"));
}

Le probleme est que ce bout de code me liste toutes les données qui se trouve sur le serveur je pense...
Je liste vraiment tout...

/oracle/...
/java/...
/javax/...

Et pas que les tables... Donc pourriez vous m'expliquer a partir de l'objet : DatabaseMetaData
Comment je peux lister les tables pour ensuite pouvoir lister pour chacune de ces tables tous leur champs. (Ca j'ai reussi pour une donc je suppose qu'en faisant une boucle je peux avoir les champs de chacune d'entre elle).
Je m'embrouille entre tout... ResultSet, ResultSetMetaData etc... alors la je commence a ne plus y voir clair... :)

Merci d'avance... ;)

Rappel : Je bosse avec une appli java sur une base de données oracles et je veux simplement une solution pour lister les tables qui sont présentes dans oracle (toutes pour l'instant et sous la forme que vous voulez... je m'en fiche) mais je veux pouvoir ensuite parcourir le vector, resultset, array ou autre qui contient les noms de ces tables pour justement chacun de ces noms lister ensuite les champs.

Merci encore !

2 réponses

Messages postés
649
Date d'inscription
mardi 8 juin 2004
Statut
Membre
Dernière intervention
9 septembre 2004
7
normallement t'as pas besoin de catalog dans ton getTables()
essais avec getTables(null,null,null,null);
Messages postés
6
Date d'inscription
mardi 18 février 2003
Statut
Membre
Dernière intervention
31 mars 2008

J'ai trouvé ;)

En fait dans getTables... on doit bien mettre :
getTables("nom_base",null,null,lesTypesDeTables);

avec :
String [] lesTypesDeTables = new String[1];
lesTypesDeTables[0] = "TABLE";

et plus si affinités...
String [] lesTypesDeTables = new String[2];
lesTypesDeTables[0] = "TABLE";
lesTypesDeTables[1] = "VIEW";

etc...

Et la c'est bon... n'empeche qu'il en liste quelques unes dont je ne connais pas la provenance (ca ne peut pas etre des tables systemes car pour avoir les tables systemes il faut mettre TABLE_SYSTEM ou SYSTEM_TABLE dans lesTypesDeTables)

Voilou ;) pour l'info