Re: Oracle LONG RAW/C#/ADO.NET
Date: 8 Jan 2002 13:13:41 -0500
Message-ID: <3c3b36d5$1_at_usenetgateway.com>
Hi Matt, This is one way of doing it, probably not the fastest. Change your DB to your own. I'm using Oracle's JDBC Driver. If you fiqure out a way with out writing to a flat file please let me know.
Thanks Ralph
import java.sql.*; import java.io.*; import java.text.*; import java.util.*; import oracle.jdbc.driver.*;
public class getPic { jdbcImage iConn = new jdbcImage(); byte[] byteArray = null; InputStream iss = null; byte toots; int SBI; int tLen; int offId;
public getPic() { startHere(); }
public void startHere() { // load the Oracle driver try { Class.forName(iConn.driverName); Connection conn = Driver- Manager.getConnection(iConn.connectURL,iConn.uName,iConn.uPass); // create an SQL statement instance Statement stmt = conn.createStatement (); // retrieve image from row ResultSet rs = stmt.executeQuery ("SELECT OFF_ID OFF_ID2 FROM images"); // process the ResultSet data while (rs.next()) { offId = rs.getInt("OFF_ID2"); SBI = rs.getInt("OFF_ID"); System.out.println(SBI); partTwo(); } if (rs != null) rs.close(); if (stmt != null) stmt.close(); if (conn != null) conn.close(); } catch (Exception ex){ System.out.print(ex);}
}
public void partTwo() { // load the Oracle driver
try { Class.forName(iConn.driverName); Connection conn2 = DriverManager.getConnection(iConn.connectURL,iConn.uName,iC- onn.uPass); // create an SQL statement instance Statement stmt2 = conn2.createStatement (); // retrieve image from row ResultSet rss = stmt2.executeQuery ("SELECT image_data FROM images where image_object_id = "+offId +"AND image_view_type = 'FACE' and active_flag = 'Y'"); // process the ResultSet data while (rss.next()) { // get binary stream data from result set InputStream web_image = rss.getBinaryStream(1); // open operating system file for storing the image FileOutputStream ostr = new FileOutputStream ("c:\\face\\face.gif"); // fetch-write loop, fetch image data from rs, write to file int i; while ((i = web_image.read ()) != -1) ostr.write (i); // Close the destination output stream ostr.close (); } //try { // Thread.sleep(2000); // }catch(InterruptedException ie) {} //SBI = "11"; createImg(); // Close all the resources if (rss != null) rss.close(); if (stmt2 != null) stmt2.close(); if (conn2 != null) conn2.close(); } catch (Exception ex2){ System.out.print(ex2);}
}
public void createImg() { //Create Log File try { Class.forName(iConn.driverName); Connection conn = DriverManager.getConnection(iConn.connectURL,iConn.uName,iConn.uPass);
// Create an SQL statement instance Statement stmt = conn.createStatement(); // Insert data into the img_data column File file = new File ("c:\\face\\face.gif"); InputStream istr = new FileInputStream ("c:\\face\\face.gif"); // prepare the INSERT into webimages using parameters PreparedStatement pstmt = conn.prepareStatement ("INSERT INTO web_image values ("+SBI +",?)"); // use a prepared INSERT for webimages pstmt.setBinaryStream (1, istr, (int)file.length()); ppstmt.execute(); // close connection and statement if (pstmt != null) ppps tmt.close(); if (conn != null) conn.close(); } catch (Exception ex){ System.out.print(ex); } }
public static void main (String args[]) { getPic gp = new getPic(); }
}
-- Posted via dBforums http://dbforums.comReceived on Tue Jan 08 2002 - 19:13:41 CET