ossiejhmoore icon

Find Tables Somewhere For A Connection

ossiejhmoore | PRO | 02/24/17 07:46:39 PM UTC | 0 ⭐ | 327 👁️ | Never ⏰ | []
Java |

1.44 KB

|

None

|

0 👍

/

0 👎

package com.cnl.capoi;
 
import java.sql.Connection;
import java.sql.DatabaseMetaData;
import java.sql.DriverManager;
import java.sql.ResultSet;
 
public class CrawlConnection {
 
    private static final String[] filters = {"^.*DTREE.*$", "^.*DVERS.*$"};
    private static Connection con;
    private static DatabaseMetaData conMeta;
 
    public static void main(String[] args) throws Exception {
        Class.forName("oracle.jdbc.OracleDriver");
        con = DriverManager.getConnection("jdbc:oracle:thin:@localhost:1521:orcl", "rmnausr", "opentext");
        conMeta = con.getMetaData();
        crawl();
        con.close();
    }
 
    private static void crawl() throws Exception {
        ResultSet rsTables = conMeta.getTables(null, null, null, null);
        while (rsTables.next()) {
            String catalog = String.valueOf(rsTables.getObject("TABLE_CAT"));
            String schema = String.valueOf(rsTables.getObject("TABLE_SCHEM"));
            String name = String.valueOf(rsTables.getObject("TABLE_NAME"));
            String type = String.valueOf(rsTables.getObject("TABLE_TYPE"));
            for (String filter : filters) {
                if (name.matches(filter)) {
                    System.out.printf("CATALOG: %s, SCHEMA: %S, NAME: %s, TYPE: %s%n",
                            catalog, schema, name, type
                    );
                }
            }
        }
        rsTables.close();
    }
}

Comments