Mega Code Archive

 
Categories / Java / Database SQL JDBC
 

Database Info

/* MySQL and Java Developer's Guide Mark Matthews, Jim Cole, Joseph D. Gradecki Publisher Wiley, Published February 2003,  ISBN 0471269239 */ import java.io.IOException; import java.io.PrintWriter; 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.servlet.ServletException; import javax.servlet.http.HttpServlet; import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; import javax.sql.DataSource; public class DatabaseInfo extends HttpServlet {   public void doGet(HttpServletRequest inRequest,       HttpServletResponse outResponse) throws ServletException,       IOException {     PrintWriter out = null;     Connection connection = null;     Statement statement;     ResultSet rs;     outResponse.setContentType("text/html");     out = outResponse.getWriter();     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();       out           .println("<HTML><HEAD><TITLE>Database Server Information</TITLE></HEAD>");       out.println("<BODY>");       out.println("<H1>General Source Information</H1>");       out.println("getURL() - " + md.getURL() + "<BR>");       out.println("getUserName() - " + md.getUserName() + "<BR>");       out.println("getDatabaseProductVersion - "           + md.getDatabaseProductVersion() + "<BR>");       out.println("getDriverMajorVersion - " + md.getDriverMajorVersion()           + "<BR>");       out.println("getDriverMinorVersion - " + md.getDriverMinorVersion()           + "<BR>");       out.println("nullAreSortedHigh - " + md.nullsAreSortedHigh()           + "<BR>");       out.println("<H1>Feature Support</H1>");       out.println("supportsAlterTableWithDropColumn - "           + md.supportsAlterTableWithDropColumn() + "<BR>");       out.println("supportsBatchUpdates - " + md.supportsBatchUpdates()           + "<BR>");       out.println("supportsTableCorrelationNames - "           + md.supportsTableCorrelationNames() + "<BR>");       out.println("supportsPositionedDelete - "           + md.supportsPositionedDelete() + "<BR>");       out.println("supportsFullOuterJoins - "           + md.supportsFullOuterJoins() + "<BR>");       out.println("supportsStoredProcedures - "           + md.supportsStoredProcedures() + "<BR>");       out.println("supportsMixedCaseQuotedIdentifiers - "           + md.supportsMixedCaseQuotedIdentifiers() + "<BR>");       out.println("supportsANSI92EntryLevelSQL - "           + md.supportsANSI92EntryLevelSQL() + "<BR>");       out.println("supportsCoreSQLGrammar - "           + md.supportsCoreSQLGrammar() + "<BR>");       out.println("<H1>Data Source Limits</H1>");       out.println("getMaxRowSize - " + md.getMaxRowSize() + "<BR>");       out.println("getMaxStatementLength - " + md.getMaxStatementLength()           + "<BR>");       out.println("getMaxTablesInSelect - " + md.getMaxTablesInSelect()           + "<BR>");       out.println("getMaxConnections - " + md.getMaxConnections()           + "<BR>");       out.println("getMaxCharLiteralLength - "           + md.getMaxCharLiteralLength() + "<BR>");       out.println("<H1>SQL Object Available</H1>");       out.println("getTableTypes()<BR><UL>");       rs = md.getTableTypes();       while (rs.next()) {         out.println("<LI>" + rs.getString(1));       }       out.println("</UL>");       out.println("getTables()<BR><UL>");       rs = md.getTables("accounts", "", "%", new String[0]);       while (rs.next()) {         out.println("<LI>" + rs.getString("TABLE_NAME"));       }       out.println("</UL>");       out.println("<H1>Transaction Support</H1>");       out.println("getDefaultTransactionIsolation() - "           + md.getDefaultTransactionIsolation() + "<BR>");       out.println("dataDefinitionIgnoredInTransactions() - "           + md.dataDefinitionIgnoredInTransactions() + "<BR>");       out.println("<H1>General Source Information</H1>");       out.println("getMaxTablesInSelect - " + md.getMaxTablesInSelect()           + "<BR>");       out.println("getMaxColumnsInTable - " + md.getMaxColumnsInTable()           + "<BR>");       out.println("getTimeDateFunctions - " + md.getTimeDateFunctions()           + "<BR>");       out.println("supportsCoreSQLGrammar - "           + md.supportsCoreSQLGrammar() + "<BR>");       out.println("getTypeInfo()<BR><UL>");       rs = md.getTypeInfo();       while (rs.next()) {         out.println("<LI>" + rs.getString(1));       }       out.println("</UL>");       out.println("</BODY></HTML>");     } catch (Exception e) {       e.printStackTrace();     }   }   public void doPost(HttpServletRequest inRequest,       HttpServletResponse outResponse) throws ServletException,       IOException {     doGet(inRequest, outResponse);   } }