FileDocCategorySizeDatePackage
TestLongRawSetBinaryStream.javaAPI DocExample3163Wed Jul 11 11:28:46 BST 2001None

TestLongRawSetBinaryStream

public class TestLongRawSetBinaryStream extends Object

Fields Summary
Connection
conn
Constructors Summary
TestLongRawSetBinaryStream()

    try {
      Class.forName("oracle.jdbc.driver.OracleDriver");
      conn = DriverManager.getConnection(
       "jdbc:oracle:thin:@dssw2k01:1521:orcl", "scott", "tiger" );
    }
    catch (ClassNotFoundException e) {
      System.err.println("Class Not Found Error: " + e.getMessage());
      System.exit(1);
    }
    catch (SQLException e) {
      System.err.println("SQL Error: " + e.getMessage());
      System.exit(1);
    }
  
Methods Summary
protected voidfinalize()

    if (conn != null) 
      try { conn.close(); } catch (SQLException ignore) { }
    super.finalize();
  
public static voidmain(java.lang.String[] args)

    new TestLongRawSetBinaryStream().process(); 
  
private voidprocess()

    FileInputStream   fin       = null;
    int               rows      = 0;
    long              person_id = 0;
    PreparedStatement pstmt     = null;
    Statement         stmt      = null;
    ResultSet         rslt      = null;

    try {
      conn.setAutoCommit(false);

      // get Tim's person_id 
      stmt = conn.createStatement();
      rslt = stmt.executeQuery(
       "select person_id " + 
       "from   person " + 
       "where  last_name  = 'O''Reilly' " + 
       "and    first_name = 'Tim'");   
      while (rslt.next()) {
        rows++;
        person_id = rslt.getLong(1);
      }
      if (rows > 1) {
        System.err.println("Too many rows!");
        System.exit(1);
      }
      else if (rows == 0) {
        System.err.println("Not found!");
        System.exit(1);
      }
      rslt.close();
      rslt = null;

      rows = stmt.executeUpdate(
       "delete person_photo " + 
       "where  person_id = " + Long.toString(person_id));
      System.out.println(rows + " rows deleted");
 
      stmt.close();
      stmt = null;

      pstmt = conn.prepareStatement(
       "insert into person_photo " + 
       "( person_id, photo ) " +
       "values " +
       "( ?, ? )");
      pstmt.setLong(1, person_id);

      File fileName = new File("tim.gif");
      long fileLength = fileName.length();
      fin = new FileInputStream(fileName);
      System.out.println(fileLength + " bytes read");
      pstmt.setBinaryStream(2, fin, (int)fileLength);
      rows = pstmt.executeUpdate();
      System.out.println(rows + " rows inserted");

      fin.close();
      fin = null;

      conn.commit();

      pstmt.close();
      pstmt = null;
    }
    catch (IOException e) {
      System.out.println("IO Error: " + e.getMessage());
      System.exit(1);
    }
    catch (SQLException e) {
      System.out.println("SQL Error: " + e.getMessage());
      System.exit(1);
    }
    finally {
      if (rslt != null) 
        try { rslt.close(); } catch (SQLException ignore) { }
      if (stmt != null) 
        try { stmt.close(); } catch (SQLException ignore) { }
      if (fin  != null) 
        try { fin.close();  } catch (IOException ignore) { }
    }