2010-05-10 1 views
1

Как я могу программно получить имена всех таблиц в базе данных JavaDB? Есть ли какой-либо конкретный SQL-оператор над JDBC, который я могу использовать для этой или любой встроенной функции в JDBC?Как я могу получить имя всех таблиц в базе данных JavaDB?

Я буду использовать его для экспорта таблиц в XML и хотел бы сделать это таким образом, чтобы я не пропустил никаких таблиц из базы данных при экспорте.

+0

См. Http://stackoverflow.com/questions/2780284/how-to-get-all-table-names-from-a-database –

ответ

6

С открытым кон Connection, сделайте

DatabaseMetaData meta = con.getMetaData(); 
    ResultSet res = meta.getTables(null, null, null, 
    new String[] {"TABLE"}); 
    System.out.println("List of tables: "); 
    while (res.next()) { 
    System.out.println(
     " "+res.getString("TABLE_CAT") 
     + ", "+res.getString("TABLE_SCHEM") 
     + ", "+res.getString("TABLE_NAME") 
     + ", "+res.getString("TABLE_TYPE") 
     + ", "+res.getString("REMARKS")); 
    } 
    res.close(); 

EDIT: Ваш вопрос о таблицах см http://java.sun.com/j2se/1.5.0/docs/api/java/sql/DatabaseMetaData.html#getTables(java.lang.String, java.lang.String, java.lang.String, java.lang.String [])