BLOB ISSUE
0 posts in topic
Flat View  Flat View
TOPIC ACTIONS:
 

Posted By:   Rahul_Ramakrishnan
Posted On:   Friday, May 18, 2007 04:58 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 = getConnecti   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&gt
javac BlobTest.java

C:jdk1.4 in&gt
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