
import java.sql.*;
import java.io.*;
import java.util.*;

public class rawdata3 {
    
    public static void main(String[] args) {
	
        try {

	    FileOutputStream file = new FileOutputStream("/localstore/antares/mjg/data/rawdata.dat");
	    DataOutputStream out  = new DataOutputStream(file);

	    String url = "jdbc:oracle:thin:@(DESCRIPTION=(ADDRESS_LIST=(ADDRESS=(PROTOCOL=tcp)(HOST=ccdbcl01.in2p3.fr)(PORT=1521))(ADDRESS=(PROTOCOL = TCP)(HOST = ccdbcl02.in2p3.fr)(PORT = 1521)) (LOAD_BALANCE=yes))(CONNECT_DATA =(SERVICE_NAME = ccora10g.in2p3.fr)))";
	    String user     = "ant_read";
	    String password = "kyoread";

	    String buffer = "SELECT OID, LCMIPADDRESS, RKEY, RECEIVEDTS, SENTTS, CDATA, RUN FROM ANTARES.RAWDATA3_010708_TO_311208 "
		+ " WHERE RKEY         LIKE 'SC_232C' "
		+ " AND   LCMIPADDRESS LIKE '063d'    "
		+ " ORDER BY RECEIVEDTS";
		//		+ " AND   RUN          = 36851";

            DriverManager.registerDriver(new oracle.jdbc.driver.OracleDriver());

            Connection connection = DriverManager.getConnection(url, user, password);
	    Statement  statement = connection.createStatement();

	    statement.execute(buffer.toString());

	    ResultSet result = statement.getResultSet();
                        
	    for (int i = 0; result.next() && i != 100000; ++i) {

		long      oid   = result.getLong(1);
		String    lcm   = result.getString(2);
		String    rkey  = result.getString(3);
		Timestamp rts   = result.getTimestamp(4);
		Timestamp sts   = result.getTimestamp(5);
		byte[]    cdata = result.getBytes(6);
		long      run   = result.getLong(7);
		
		out.write(cdata, 0, cdata.length);
		System.out.println(i + " " + rts + " " + cdata.length);
	    }

	    result.close();
	    statement.close();
        }
        catch (Exception exception) {
	    System.err.println(exception.toString());
            System.exit(1);
        }
 
    }
}

