DbMeta.java
import java.io.*;
import java.util.*;
import java.sql.*;
/**
Extract database metadata -- list all tables in database.
*/
class DbMeta
{
public static void main(String args[])
{
// JDBC driver and DSN for HSQLDB server.
String driver = "org.hsqldb.jdbcDriver";
String dsn = "jdbc:hsqldb:hsql://localhost:9001";
Connection conn;
Statement stat;
DatabaseMetaData meta;
ResultSet rs;
try {
Class.forName(driver);
conn = DriverManager.getConnection(dsn,"sa","");
meta = conn.getMetaData();
// Return all catalogs, all schemas, all tables, all types.
rs = meta.getTables(null,null,null,null);
System.out.println("TABLE_NAME, TABLE_TYPE");
System.out.println("==========, ==========");
while (rs.next()) {
System.out.println(
rs.getString(3) + ", " + rs.getString(4));
}
conn.close();
}
catch (SQLException ex) {
// Note the use of nested exceptions!
while (ex != null) {
ex.printStackTrace();
ex = ex.getNextException();
}
}
catch (ClassNotFoundException ex) {
ex.printStackTrace();
}
}
}