Bonjour,
j'ai un problème pour récupérer les tables d'une base Oracle, en utilisant le getTables de l'interface DatabaseMetaData. En fait je récupère également les tables supprimées (que Oracle garde, du type $BIN...==$0).
Voici mon code :
Connection connection = DriverManager.getConnection(urls,login,pswd);
DatabaseMetaData dmd = connection.getMetaData();
ResultSet tables = dmd.getTables(catalog,schema,"%",{"TABLE"});
while(tables.next()){
String nom_table = tables.getString("TABLE_NAME");
System.out.println("table = " + nom_table);
}
tables.close();
connection.close();
Dans cette base j'ai 1 seule table que j'ai supprimé 2 fois, du coup je me retrouve avec 1 table "normale" et 2 tables "bidons" qui commence par "BIN$" et qui finissent par "==$0", je peux contourner le pb en faisant :
if(!(nom_table.startsWith("BIN$") && nom_table.endsWith("==$0")))
Cependant j'aimerais trouver une solution plus "propre" qu'en utilisant le nom de la table.
Quelqu'un a t il une idée???
Merci par avance
Partager