Java tutorial
import java.sql.Connection; import java.sql.DatabaseMetaData; import java.sql.ResultSet; import java.sql.Statement; import javax.naming.Context; import javax.naming.InitialContext; import javax.sql.DataSource; public class Main { public static void main(String[] argv) { Connection connection = null; Statement statement; ResultSet rs; try { Context ctx = new InitialContext(); DataSource ds = (DataSource) ctx.lookup("java:comp/env/jdbc/AccountsDB"); connection = ds.getConnection(); DatabaseMetaData md = connection.getMetaData(); statement = connection.createStatement(); System.out.println("getURL() - " + md.getURL()); System.out.println("getUserName() - " + md.getUserName()); System.out.println("getDatabaseProductVersion - " + md.getDatabaseProductVersion()); System.out.println("getDriverMajorVersion - " + md.getDriverMajorVersion()); System.out.println("getDriverMinorVersion - " + md.getDriverMinorVersion()); System.out.println("nullAreSortedHigh - " + md.nullsAreSortedHigh()); System.out.println("<H1>Feature Support</H1>"); System.out.println( "supportsAlterTableWithDropColumn - " + md.supportsAlterTableWithDropColumn() + "<BR>"); System.out.println("supportsBatchUpdates - " + md.supportsBatchUpdates()); System.out.println("supportsTableCorrelationNames - " + md.supportsTableCorrelationNames()); System.out.println("supportsPositionedDelete - " + md.supportsPositionedDelete()); System.out.println("supportsFullOuterJoins - " + md.supportsFullOuterJoins()); System.out.println("supportsStoredProcedures - " + md.supportsStoredProcedures()); System.out.println("supportsMixedCaseQuotedIdentifiers - " + md.supportsMixedCaseQuotedIdentifiers()); System.out.println("supportsANSI92EntryLevelSQL - " + md.supportsANSI92EntryLevelSQL()); System.out.println("supportsCoreSQLGrammar - " + md.supportsCoreSQLGrammar()); System.out.println("getMaxRowSize - " + md.getMaxRowSize()); System.out.println("getMaxStatementLength - " + md.getMaxStatementLength()); System.out.println("getMaxTablesInSelect - " + md.getMaxTablesInSelect()); System.out.println("getMaxConnections - " + md.getMaxConnections()); System.out.println("getMaxCharLiteralLength - " + md.getMaxCharLiteralLength()); System.out.println("getTableTypes()"); rs = md.getTableTypes(); while (rs.next()) { System.out.println(rs.getString(1)); } System.out.println("getTables()"); rs = md.getTables("accounts", "", "%", new String[0]); while (rs.next()) { System.out.println(rs.getString("TABLE_NAME")); } System.out.println("Transaction Support"); System.out.println("getDefaultTransactionIsolation() - " + md.getDefaultTransactionIsolation()); System.out .println("dataDefinitionIgnoredInTransactions() - " + md.dataDefinitionIgnoredInTransactions()); System.out.println("General Source Information"); System.out.println("getMaxTablesInSelect - " + md.getMaxTablesInSelect()); System.out.println("getMaxColumnsInTable - " + md.getMaxColumnsInTable()); System.out.println("getTimeDateFunctions - " + md.getTimeDateFunctions()); System.out.println("supportsCoreSQLGrammar - " + md.supportsCoreSQLGrammar()); System.out.println("getTypeInfo()"); rs = md.getTypeInfo(); while (rs.next()) { System.out.println(rs.getString(1)); } } catch (Exception e) { e.printStackTrace(); } } }