/*
 * Created on Jan 8, 2004
 *
 * To change the template for this generated file go to
 * Window>Preferences>Java>Code Generation>Code and Comments
 */

package com.k_int.it4me;
 
import java.sql.Connection;
import java.sql.DatabaseMetaData;
import java.sql.DriverManager;
import java.sql.ResultSet;
import java.sql.SQLException;

/**
 * @author ibbo
 *
 * To change the template for this generated type comment go to
 * Window>Preferences>Java>Code Generation>Code and Comments
 *
 */
public class MetadataTool
{
  static final String DRIVER_NAME = "sun.jdbc.odbc.JdbcOdbcDriver";
  static final String DATABASE_URL = "jdbc:odbc:HelpYourself";
  
  public static void main(String[] args) {
    MetadataTool mt = new MetadataTool();
    mt.go();
  }

  public MetadataTool() {
  }
  
  public void go() {
    try {
      Class.forName(DRIVER_NAME);
      Connection conn = DriverManager.getConnection(DATABASE_URL);
      DatabaseMetaData md = conn.getMetaData();

      ResultSet tables_rs = md.getTables(null, null, "%", null);

      while ( tables_rs.next() )
      {
        // String col = tables_rs.getString(i);
        String cat=tables_rs.getString(1);
        String schema=tables_rs.getString(2);
        String name=tables_rs.getString(3);
        String type=tables_rs.getString(4);

        System.err.println(cat+"."+schema+"."+name+" "+type);
          
        ResultSet colls_rs = md.getColumns(cat,schema,name,"%");
          
        while ( colls_rs.next() ) {
          System.err.println("Column"+colls_rs.getString(4));
        }
        colls_rs.close();
      }

      tables_rs.close();
      conn.close();
    } 
    catch (ClassNotFoundException cnfe) {
      System.err.println("ClassNotFoundException Was Thrown");
      cnfe.printStackTrace();
    } 
    catch (SQLException sqle) {
      System.err.println("SQLException Was Thrown");
      sqle.printStackTrace();
    }
  }
}
