Data Source Retrieval

Listing 1. Retrieving your Data Source object from the JNDI naming service involves a lookup and a subsequent casting to a DataSource object, from which we obtain the database connections. In this case we perform a simple query and display the content of the field we are interested in.

import java.sql.Connection;
import java.sql.ResultSet;

import javax.naming.Context;
import javax.naming.InitialContext;

public class DataSourceUsageDemo {

  public static void main(String[] args) 
  {
    try
    {
      System.out.println("Accessing Data Source");
      Context initialContext = new InitialContext();
      javax.sql.DataSource myDS =
        (javax.sql.DataSource) initialContext.lookup(
        "java:comp/env/jdbc/DB2DataSource");

      // create a connection from the Data Source
      Connection connection = myDS.getConnection();

      // create a query from the connection
      java.sql.Statement query = 
        connection.createStatement();

      ResultSet rs = query.executeQuery(
        "SELECT * FROM ACCTTABLE");
      while (rs.next())
      {
        System.out.println(rs.getString("SSN"));
      }
    }
    catch(Exception e)
    {
      e.printStackTrace();
    }
    finally
    {

try {

if (rs != null) {
  rs.close();
  } 
} catch (Exception e) {
  e.printStackTrace();
}
    try {
if (query != null) {
    query.close();
    }
      catch (Exception e) { 
  e.printStackTrace();othe
}
      try {
        if (connection != null) {
        connection.close();
        }
      } catch (Exception e) {
  e.printStackTrace();
}
    }
  }
}