Is there a way to initialise a BLOB in derby, and how to insert a document
object in Derby
------------------------------------------------------------------------------------------
Key: DERBY-2070
URL: http://issues.apache.org/jira/browse/DERBY-2070
Project: Derby
Issue Type: Bug
Environment: Windows 98,Derby ,JAVA.
Reporter: kishorevodnala
I have a problem while inserting an XML document object into a BLOB column in
Derby database.
Could you please help me out in resolving this problem.
Note:there is empty_blob function in oracle for initialising a BLOB.Is there
anything in derby for initialising a BLOB like in oracle.
Following is the sample code.
//creating a DOM object for a xml file and storing this object into the BLOB
column in the database using streams.
class exdom
{
public static void main(String ss[])
{
Document pdxDOM =buildDocument();//creating a DOM object for
xml file
serializePDXDOMToDB(pdxDOM); //storing this object into the
BLOB column in the database using streams
}
public static Document buildDocument() {
Document document = null;
try {
DocumentBuilderFactory builderFactory =
DocumentBuilderFactory.newInstance();
DocumentBuilder documentBuilder =
builderFactory.newDocumentBuilder();
document = documentBuilder.parse(new File("d:\\sample.xml"));
} catch (Exception e) {e.printStackTrace();}
return document;
}
public static void serializePDXDOMToDB(Document obj) {
Connection conn = null;
PreparedStatement ps = null;
ResultSet rs = null;
String query = "insert into ex9(bl) values(?) " ;
try {
Class.forName("org.apache.derby.jdbc.ClientDriver");
String
url="jdbc:derby://s104f50:1527/example;create=true";
conn=DriverManager.getConnection(url);
ps = conn.prepareStatement(query);
ByteArrayOutputStream baos = new ByteArrayOutputStream();
ObjectOutputStream oout = new ObjectOutputStream(baos);
oout.writeObject(obj);
oout.close();
ps.setBytes(1, baos.toByteArray());
ps.execute();
}catch(Exception e){e.printStackTrace();}
}
}
Following is the exception that occured while execution:
java.io.NotSerializableException: org.apache.crimson.tree.XmlDocument
at java.io.ObjectOutputStream.writeObject0(ObjectOutputStream.java:1054)
at java.io.ObjectOutputStream.defaultWriteFields(ObjectOutputStream.java
:1330)
at java.io.ObjectOutputStream.writeSerialData(ObjectOutputStream.java:13
02)
at java.io.ObjectOutputStream.writeOrdinaryObject(ObjectOutputStream.jav
a:1245)
at java.io.ObjectOutputStream.writeObject0(ObjectOutputStream.java:1052)
at java.io.ObjectOutputStream.writeObject(ObjectOutputStream.java:278)
at exdom.serializePDXDOMToDB(exdom.java:42)
at exdom.main(exdom.java:11)
//this code is working fine for String and Integer objects but getting an
Exception while trying to insert an XML Document object.
--
This message is automatically generated by JIRA.
-
If you think it was sent incorrectly contact one of the administrators:
http://issues.apache.org/jira/secure/Administrators.jspa
-
For more information on JIRA, see: http://www.atlassian.com/software/jira