Blob Issue
0 posts in topic
Flat View  Flat View
TOPIC ACTIONS:
 

Posted By:   Rahul_Ramakrishnan
Posted On:   Friday, May 18, 2007 04:55 AM

This is my program ------------------ Code ==== import java.io.FileInputStream; import java.io.FileOutputStream; import java.io.InputStream; import java.io.OutputStream; import java.sql.Blob; import java.sql.Connection; import java.sql.DriverManager; import java.sql.PreparedStatement; import java.sql.ResultSet; import java.sql.SQLException; import java.sql.Statement; import oracle.sql.*; public class BlobTest { public void insertBlob(String imageId, String fileName) { Connection conn = null; try { conn = getConnection(); if (!fileName.equals("")) {    More>>

This is my program
------------------

Code
====
import java.io.FileInputStream;
import java.io.FileOutputStream;
import java.io.InputStream;
import java.io.OutputStream;
import java.sql.Blob;
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.sql.Statement;
import oracle.sql.*;
public class BlobTest
{
public void insertBlob(String imageId, String fileName)
{
Connection conn = null;
try
{
conn = getConnection();
if (!fileName.equals(""))
{
PreparedStatement ps = conn.prepareStatement("INSERT INTO IMAGES VALUES(?, ?)");
ps.setString(1, imageId);
FileInputStream fis = new FileInputStream(fileName);
ps.setBinaryStream(2, fis, fis.available());
ps.execute();
ps.close();
}
else
{
PreparedStatement ps = conn.prepareStatement("INSERT INTO IMAGES VALUES (?, empty_blob())");
ps.setString(1, imageId);
ps.execute();
ps.close();
}
conn.close();
}
catch (Exception e)
{
e.printStackTrace();
}
}
public void readBlob(String fileName)
{
Connection conn = null;
try
{
conn = getConnection();
Statement st = conn.createStatement();
ResultSet rs = st.executeQuery("select image from IMAGES");
while (rs.next())
{
// The following two lines can be replaced by
// InputStream is = rs.getBinaryStream(1);
Blob blob = rs.getBlob(1);
InputStream is = blob.getBinaryStream();
FileOutputStream fos = null;
fos = new FileOutputStream("c:/" + fileName);
byte[] data = new byte[1024];
int i = 0;
while ((i = is.read(data)) != -1)
{
fos.write(data, 0, i);
}
}
conn.close();
}
catch (Exception e)
{
e.printStackTrace();
}
}
public void writeBlob(String fileName)
{
Connection conn = null;
try
{
conn = getConnection();
Statement st = conn.createStatement();
ResultSet rs = st.executeQuery("select image from IMAGES FOR UPDATE");
while (rs.next())
{
Blob blob = rs.getBlob(1);
System.out.println(blob);
OutputStream os = blob.setBinaryStream(1);
FileInputStream fis = null;
fis = new FileInputStream("c:/" + fileName);
byte[] data = new byte[1];
int i;
while ((i = fis.read(data)) != -1)
{
os.write(data, 0, i);
}
os.close();
break;
}
conn.close();
}
catch (Exception e)
{
e.printStackTrace();
}
}
private Connection getConnection() throws ClassNotFoundException, SQLException
{
Class.forName("oracle.jdbc.driver.OracleDriver");
Connection conn = DriverManager.getConnection("jdbc:oracle:thin:@192.168.1.218:1521:ecprod", "ecprod", "breezer1");
conn.setAutoCommit(false);
return conn;
}
public static void main(String[] args)
{
BlobTest blobTest = new BlobTest();
blobTest.insertBlob("img9", "");
blobTest.writeBlob("Blobdata.gif");
}
}

Output
======
C:jdk1.4 in>javac BlobTest.java

C:jdk1.4 in>java BlobTest
null
java.lang.NullPointerException
at BlobTest.writeBlob(BlobTest.java:86)
at BlobTest.main(BlobTest.java:116)

C:jdk1.4 in>

   <<Less
About | Sitemap | Contact