import java.io.File; import java.io.FileInputStream; import java.io.FileOutputStream; import java.sql.Connection; import java.sql.DriverManager; import java.sql.PreparedStatement; import java.sql.ResultSet; import java.sql.Statement; public class UploadImage { public static void main(String[] args) throws Exception{ Connection connection=null; try{ String url="jdbc:odbc:mdbRavi"; Class.forName("sun.jdbc.odbc.JdbcOdbcDriver"); connection = DriverManager.getConnection(url); Statement stmt = connection.createStatement(); /*create a table*/ stmt.execute("CREATE TABLE ImageTable(ImageId int,Image_Data OLEObject);"); /*storing images into DB; * assume imagetable already in DB with two fields; 2nd field type is OLE(blob)*/ File file=new File("C:\\RaviSankar\\Gifs\\1.gif"); FileInputStream in=new FileInputStream(file); PreparedStatement ps=connection.prepareStatement("INSERT INTO ImageTable (ImageId, Image_Data) values(?,?);"); ps.setInt(1,1220); ps.setBinaryStream(2,in,(int)file.length()); ps.execute(); ps.close(); /*retrieving from DB*/ ResultSet rs =stmt.executeQuery("SELECT Image_Data FROM ImageTable WHERE ImageId=1220"); byte[] imgbytes=null; if(rs.next()) { imgbytes=rs.getBytes(1); } rs.close(); stmt.close(); //connection.close(); FileOutputStream fos=new FileOutputStream("c:\\ravixyz.gif"); fos.write(imgbytes); fos.close(); //stmt.execute("create table imagetable (imageid int,IMAGE_DATA blob)"); /*stmt.execute("create table imagetable (imageid int,IMAGE_DATA blob)"); */ }catch(Exception e){ e.printStackTrace(); }finally{ try{ connection.close(); }catch(Exception e){ e.printStackTrace(); }//catch }//finally }//main }//class