Pb DatabaseMetaData Oracle
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