Verify database setup : Connection « Database SQL JDBC « Java






Verify database setup

    
import java.sql.*;

public class CheckJDBCInstallation {
  /**
   * Test Validity of JDBC Installation
   * 
   * @param conn
   *          a JDBC connection object
   * @param dbVendor
   *          db vendor {"oracle", "mysql" }
   * @return true if a given connection object is a valid one; otherwise return
   *         false.
   * @throws Exception
   *           Failed to determine if a given connection is valid.
   */
  public static boolean isValidConnection(Connection conn, String dbVendor) throws Exception {
    if (conn == null) {
      return false;
    }

    if (conn.isClosed()) {
      return false;
    }
    // depends on the vendor of the database:
    //
    // for MySQL database:
    // you may use the connection object
    // with query of "select 1"; if the
    // query returns the result, then it
    // is a valid Connection object.
    //
    // for Oracle database:
    // you may use the Connection object
    // with query of "select 1 from dual"; if
    // the query returns the result, then it
    // is a valid Connection object.
    if (dbVendor.equalsIgnoreCase("mysql")) {
      return testConnection(conn, "select 1");
    } else if (dbVendor.equalsIgnoreCase("oracle")) {
      return testConnection(conn, "select 1 from dual");
    } else {
      return false;
    }

  }

  /**
   * Test Validity of a Connection
   * 
   * @param conn
   *          a JDBC connection object
   * @param query
   *          a sql query to test against db connection
   * @return true if a given connection object is a valid one; otherwise return
   *         false.
   */
  public static boolean testConnection(Connection conn, String query) {
    ResultSet rs = null;
    Statement stmt = null;
    try {
      stmt = conn.createStatement();
      if (stmt == null) {
        return false;
      }

      rs = stmt.executeQuery(query);
      if (rs == null) {
        return false;
      }

      // connection object is valid: you were able to
      // connect to the database and return something useful.
      if (rs.next()) {
        return true;
      }

      // there is no hope any more for the validity
      // of the Connection object
      return false;
    } catch (Exception e) {
      // something went wrong: connection is bad
      return false;
    } finally {
      // close database resources
      try {
        rs.close();
        stmt.close();        
      } catch (SQLException e) {
        e.printStackTrace();
      }
    }
  }

  public static void main(String[] args) {
    Connection conn = null;
    try {
      String dbVendor = args[0];
      // get connection to a database
      System.out.println("dbVendor=" + dbVendor);
      System.out.println("conn=" + conn);
      System.out.println("valid connection = " + isValidConnection(conn, dbVendor));
    } catch (Exception e) {
      // handle the exception
      e.printStackTrace();
      System.exit(1);
    } finally {
      // release database resources
      try {
        conn.close();
      } catch (SQLException e) {
        e.printStackTrace();
      }
    }
  }
}

           
         
    
    
    
  








Related examples in the same category

1.Connect to more than one database
2.Debug Database connection
3.Create Connection With Properties
4.Set save point
5.JDBC Simple Connection
6.Load some drivers
7.Encapsulate the Connection-related operations that every JDBC program seems to use
8.Test of loading a driver and connecting to a database
9.Load MySQL JDBC Driver
10.Oracle JDBC Driver load
11.Oracle JDBC Driver load test: NewInstance
12.Test Register Oracle JDBC Driver
13.Install Oracle Driver and Execute Resultset
14.Test Thin Net8 App
15.Specify a CharSet when connecting to a DBMS
16.Listing All Available Parameters for Creating a JDBC Connection
17.String java.sql.DriverPropertyInfo.name (Get name of property)
18.boolean java.sql.DriverPropertyInfo.required (Is property value required?)
19.String java.sql.DriverPropertyInfo.value (Get current value)
20.String java.sql.DriverPropertyInfo.description (Get description of property)
21.String[] java.sql.DriverPropertyInfo.choices (Get possible choices for property; if null, value can be any string)
22.Determining If a Database Supports Transactions
23.Committing and Rolling Back Updates to a Database
24.Disable auto commit mode in JDBC
25.Print warnings on a Connection to STDERR.
26.Print warnings on a Connection to a specified PrintWriter.
27.This program tests that the database and the JDBC driver are correctly configured.
28.Manage Db connections providing shortcuts for Statements, PreparedStatements and ResultSets.