Serialize object to MSQL database

Hi
Is it possible to serialize object to MSQL database instaed of file/Store?
Please guide me...
Thank you very much in advance
PSL

Somebody please throw some idea...Thank you very much

Similar Messages

  • Inserting non-serializable objects

    Is there any way to insert non-serializable objects into a database? (Or to convert them to bytes?)

    Is there any way to insert non-serializable objectsinto a database?
    A joke right?No, it's not a joke. It would be a pretty bad one if it were.
    Yes, there is a way. Create a table that corresponds
    to the object where each attribute in the object
    corresponds to field in the object. Add a unique key
    if one doesn't exist.I wish it were that simple. I don't have access to those attributes...
    >
    To create an object insert a row into the table. To
    load the object use the unique key to query for the
    row. To 'delete' the object delete the row from the
    table.BTW, the object in question is the java.awt.geom.Area object (http://java.sun.com/j2se/1.3/docs/api/java/awt/geom/Area.html ).
    The only way I can think of to insert an object that doesn't map to a SQL type is to convert it to bytes through serialization, and insert it as RAW data.
    I've extended Area to add a name and made my class serializable. However, since Area is not serializable, the only data I can retrieve after deserializing is the name I added (from my understanding of serialization, I have to save Area's data myself, but can't since I don't have access to it, so the deserialization process calls the Area() constructor which initializes the object to empty).

  • Returning a serializable object from a java stored procedure

    [Server : Oracle 8.1.6 on WinNT4 server. Client : java 1.2.2 on WinNT4 workstation.]
    I am attempting to use a java stored procedure to build a complex serializable java object on the database (to minimise number of requests/queries on the network) and then return this object in response to the original query.
    I have it writing a BLOB by means of
    OutputStream os = retval.getBinaryOutputStream();
    ObjectOutputStream oos = new ObjectOutputStream(os);
    oos.writeObject(v);
    return retval;
    where retval is a blob selected from a dummy table (created for this purpose) and v is a vector containing only serializable objects.
    However, on the client side when I attempt to recover the object by
    OracleResultSet rs = (OracleResultSet)stmt.executeQuery("SELECT javatest FROM DUAL");
    oracle.sql.BLOB blob=rs.getBLOB(1);
    InputStream inp = blob.getBinaryStream();
    ObjectInputStream oinp = new ObjectInputStream(inp);
    Vector retval = (Vector)oinp.readObject();
    I get an exception telling me that the input stream does not contain an object at the line containing new ObjectInputStream(inp);
    The full exception is :
    java.io.StreamCorruptedException: InputStream does not contain a serialized object
    at java.io.ObjectInputStream.readStreamHeader(ObjectInputStream.java:731)
    at java.io.ObjectInputStream.<init>(ObjectInputStream.java:165)
    at eRespond.DBLayer.JavaStoredProcedures.testdbobj.test2(testdbobj.java:143)
    at eRespond.DBLayer.JavaStoredProcedures.testdbobj.main(testdbobj.java, Compiled Code)
    I've checked that the returned blob is non-null, and that oracle.sql.BLOB is used throughout.
    Any thoughts?
    Thanks,
    mark.

    Firstly I guess to be able to new B() as a Thread, B
    should extends Thread.
    Secondly the constructor should not have any return
    type:
    public B(String cmd)
    instead of
    public void B(String cmd)
    Lastly there is no need to override the start() method
    if all it does is to call the superclass. The subclass
    automatically inherits the method.
    Hope this helps.thanks for replying so soon...
    yes, you are right, it should extends Thread and it is, i forgot to out in this example... my mistake!
    i'll try the construnctor thing to see if it works. bare in mind that i working with java stored procedures, it should work even so, right?
    thanks

  • Custom Deserialization for a List of serializable objects

    I'm running into trouble creating custom deserialization using the readObject method.
    Here is the code the reads the blob from the database:
    Blob blob = rs.getBlob(idx++);
                InputStream iStream = blob.getBinaryStream();
                try {
                    ObjectInputStream oiStream = new ObjectInputStream(iStream);
                    Object object = oiStream.readObject();
                    List data = (List) object;
                    report.setData(data);
                catch (EOFException ignored) {}
                finally {
                    iStream.close();               
                }And my class:
    public class PerformanceReportRowInfo extends PerformanceInfo
        private static final long serialVersionUID = 20060406L;
        private String _dateStr;
        private long _queries;
        private void readObject (ObjectInputStream ois) throws IOException,
                ClassNotFoundException
            ObjectInputStream.GetField fields = ois.readFields();
            _dateStr = (String) fields.get("_dateStr", null);
            try {
                _queries = fields.get("_queries", 0L);
            } catch (IOException io) {
                int intQueries = fields.get("_queries", 0);
                _queries = (long) intQueries;
    }The reason custom deserialization is needed is because we are converting the "_queries" attribute from an int to a long, and do not want to have to replace all the blobs in our DB with long types.
    For some reason, however, the readObject method never gets called in the PerformanceReportRowInfo, and instead i continue to get the error message:
    java.io.InvalidClassException: PerformanceReportRowInfo; incompatible types for field _queries
    I even added logging to the readObject method to make sure it wasnt getting called, and my suspicion was confirmed, it was indeed not getting called. Is my problem related to the fact that it is extending another serializable object (in this case PerformanceInfo) that doesnt have a custom readObject method? Or is it because of how im converting the blob to a List in the first block of code? BTW, the exception occurs at this line:
    Object object = oiStream.readObject();
    Thanks for the help!

    It is Serializable and does not extend any other class (except Object of course), here is the full stack trace:
    Caused by: java.io.InvalidClassException: PerformanceReportRowInfo; incompatible types for field _queries
         at java.io.ObjectStreamClass.matchFields(ObjectStreamClass.java:2175)
         at java.io.ObjectStreamClass.getReflector(ObjectStreamClass.java:2070)
         at java.io.ObjectStreamClass.initNonProxy(ObjectStreamClass.java:586)
         at java.io.ObjectInputStream.readNonProxyDesc(ObjectInputStream.java:1552)
         at java.io.ObjectInputStream.readClassDesc(ObjectInputStream.java:1466)
         at java.io.ObjectInputStream.readNonProxyDesc(ObjectInputStream.java:1552)
         at java.io.ObjectInputStream.readClassDesc(ObjectInputStream.java:1466)
         at java.io.ObjectInputStream.readOrdinaryObject(ObjectInputStream.java:1699)
         at java.io.ObjectInputStream.readObject0(ObjectInputStream.java:1305)
         at java.io.ObjectInputStream.readObject(ObjectInputStream.java:348)
         at java.util.ArrayList.readObject(ArrayList.java:591)
         at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
         at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
         at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
         at java.lang.reflect.Method.invoke(Method.java:585)
         at java.io.ObjectStreamClass.invokeReadObject(ObjectStreamClass.java:946)
         at java.io.ObjectInputStream.readSerialData(ObjectInputStream.java:1809)
         at java.io.ObjectInputStream.readOrdinaryObject(ObjectInputStream.java:1719)
         at java.io.ObjectInputStream.readObject0(ObjectInputStream.java:1305)
         at java.io.ObjectInputStream.readObject(ObjectInputStream.java:348)
         at MyClass.readReport(MyClass.java:332)

  • Created serializable object, but get "Class not found" on "createObjectMessage()" cal

    I'm using OC4J 9.0.2.1 and JDeveloper 9.0.2 with Oracle db. I have a set of queues created in the database.
    Before I try to send my request, I create an instance of the serializable object I want to send. I do all of my queue connection setup, then I call:
    queueSession.createObjectMessage(request);
    Where "queueSession" is a QueueSession obtained from "queueConnection.createQueueSession()".
    When I step over this function call, I get the following:
    oracle.jms.AQjmsException: JMS-109: Class not found: com.attws.it.bsa.felix.mci.common.ServiceInfoRequest
    (The indicated class name is the type of the "request" object.)
    What could I be doing wrong?

    The code below creates the following classes when I compile it (using jsk1.3):
    DistanceBarApplication2.class
    DistanceBarApplication2$1
    DistanceBarApplication2$2
    DistanceBarApplication2$3
    DistanceBarApplication2$DistanceBar2
    The error I receive is: load: class DistanceBarApplication2 not found
    Here is my HTML code:
    <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
    <HTML>
    <HEAD>
    <TITLE> New Document </TITLE>
    </HEAD>
    <BODY>
    <applet code="DistanceBarApplication2.class" width=300 height=50>
    </applet>
    </BODY>
    </HTML>
    Here is the Java code:
    import java.awt.*;
    import java.awt.event.*;
    import javax.swing.*;
    public class DistanceBarApplication2 extends JApplet {
    private final DistanceBar2 bar = new DistanceBar2();
    public void init() {
    bar.setMaximum(100);
    bar.addMouseListener(new MouseAdapter() {
    public void mouseClicked(MouseEvent e) {
    bar.stop();
    JOptionPane.showMessageDialog(bar, bar.getValue() + " yards");
    bar.start();
    this.getContentPane().add(bar);
    bar.start();
    static class DistanceBar2 extends JProgressBar {
    private Thread mThread;
    private boolean mRunning= false;
    private int mValue = 0;
    private boolean mUp = true;
    private Runnable updater = new Runnable() {
    public void run() {
    setValue(mValue);
    public void start() {
    if (mRunning) {
    return;
    mRunning = true;
    mThread = new Thread(new Runnable() {
    public void run() {
    while (mRunning) {
    try {
    Thread.sleep(30);
    } catch (InterruptedException e) { }
    adjust();
    mThread.setDaemon(true);
    mThread.start();
    public void stop() {
    mRunning= false;
    // Best to let a thread run itself out
    // if (mThread != null)
    // mThread.interrupt();
    // Don't need this for this applet, but possibly later
    // public Dimension getPreferredSize() {
    // return new Dimension(300,70);
    private void adjust() {
    int delta = getMaximum() / 40;
    mValue += delta * (mUp ? 1 : -1);
    if (mValue >= getMaximum()) {
    mValue = getMaximum();
    mUp = false;
    } else if (mValue <= 0) {
    mValue = 0;
    mUp = true;
    SwingUtilities.invokeLater(updater);

  • How To Store dom4j.Document Object in MySQL Database?

    Hi Everyone, i am currently using dom4j to create an xml document object i wish to hold the object in a mysql database using jdbc, however the document object does not implement serializable, i am having difficulty in storing the document object as a BLOB object within the database, any suggestions?
    any help or advice would be greatly appreciated
    Thanks

    Convert the Document object to String and store the XML string in MySQL database.

  • Serialization Objects in column of row in MySQL

    Hi :)
    I have class with different methods, each of this methods make large operation in database (Hibernate3 + MySQL).
    I consider situation when my application may crush, and in proccess of recovering I recover objects-parameters for my different methods.
    I want to use simple Java serialization object (ObjectInputStream and ObjectOutputStream) and save this bytes in column of row in MySQL, but
    in future I'm afraid that fields of parameter-objects of my methods changed (will be add new fields, deleted fields), and I can't deserialize my parameter-objects from MySQL. I know one decision - serialization objects in XML and save XML in DB, but may be somebody offers other variants of saving my object-parameters more quickly than XML.
    Thanks all :) New member of Sun Java Forum, Alexander Stepanov.

    Hi :)
    I have class with different methods, each of this methods make large operation in database (Hibernate3 + MySQL).
    I consider situation when my application may crush, and in proccess of recovering I recover objects-parameters for my different methods.
    I want to use simple Java serialization object (ObjectInputStream and ObjectOutputStream) and save this bytes in column of row in MySQL, but
    in future I'm afraid that fields of parameter-objects of my methods changed (will be add new fields, deleted fields), and I can't deserialize my parameter-objects from MySQL. I know one decision - serialization objects in XML and save XML in DB, but may be somebody offers other variants of saving my object-parameters more quickly than XML.
    Thanks all :) New member of Sun Java Forum, Alexander Stepanov.

  • Jndi and serializable objects

    Hi,
    I am attempting to create a cache on the web server to store
    frequently accessed reference data. I do so by running a series of
    queries in a startup class. The data retrieved from the result set of
    each query is stored in a custom class and bound to the server context.
    My understanding is that when serializable objects are bound, they are
    written to disk (so as not.to waste valuable Heap space I assume). As a
    test I made the startup query return a large amount of data and I
    expected to see the amount of free disk space decrease as the objects
    were bound however I did not see this occurring. I examined the memory
    usage of the java process with the NT task manager, and the memory usage
    was increasing pretty dramatically as the query results were performed
    and new objects created to store this data.
    Based on these observations I assume that the objects I created and
    bound are stored in the Java Heap and not written to disk. Would
    Weblogic at some point write these to disk if memory became tight or is
    my understanding that binding an object serializes it incorrect?
    If it turns out that what I am attempting here consumes a lot of heap
    space, I assume that server performance will suffer which is
    unacceptable. Would using read-only entity beans be a better solution?
    The container could manage this memory more effectively but it would
    seem to add a lot of overhead for a simple read only data cache.
    Thanks,
    Steve Snodgrass

    We never write jndi data to the disk. So if you add more objects your are
    going to take up more heap space. You should be looking at other
    alternatives to implement this.
    -- Prasad
    Steve Snodgrass wrote:
    Hi,
    I am attempting to create a cache on the web server to store
    frequently accessed reference data. I do so by running a series of
    queries in a startup class. The data retrieved from the result set of
    each query is stored in a custom class and bound to the server context.
    My understanding is that when serializable objects are bound, they are
    written to disk (so as not.to waste valuable Heap space I assume). As a
    test I made the startup query return a large amount of data and I
    expected to see the amount of free disk space decrease as the objects
    were bound however I did not see this occurring. I examined the memory
    usage of the java process with the NT task manager, and the memory usage
    was increasing pretty dramatically as the query results were performed
    and new objects created to store this data.
    Based on these observations I assume that the objects I created and
    bound are stored in the Java Heap and not written to disk. Would
    Weblogic at some point write these to disk if memory became tight or is
    my understanding that binding an object serializes it incorrect?
    If it turns out that what I am attempting here consumes a lot of heap
    space, I assume that server performance will suffer which is
    unacceptable. Would using read-only entity beans be a better solution?
    The container could manage this memory more effectively but it would
    seem to add a lot of overhead for a simple read only data cache.
    Thanks,
    Steve Snodgrass

  • How to create a SOAP body based on a Serializable Object?

    Hello,
    I have a serializable object such as this one
            HeaderSection header = new HeaderSection();
            RequestName requestName = new RequestName();
            requestName.setActivityName("this is an activity");
            NNSVMessage nnsvMessage = new NNSVMessage();
            nnsvMessage.setHeaderSection(header);
            nnsvMessage.setRequestSection(request);
            nnsvMessage.setResponseSection(response);I create a SOAP message using SAAJ API
            SOAPMessage message = messageFactory.createMessage();
            SOAPPart soapPart = message.getSOAPPart();
            SOAPEnvelope envelope = soapPart.getEnvelope();
            SOAPBody body = envelope.getBody();
    ...How can I stuff this object into the SOAP body?
    Thanks,
    Mustafa

    Hi Saleem,
    Herewith an example:
            Dim oDoc As SAPbobsCOM.Documents
            oDoc = oCompany.GetBusinessObject(SAPbobsCOM.BoObjectTypes.oOrders)
            oDoc.CardCode = "530010"
            oDoc.DocDate = Date.Now
            oDoc.DocDueDate = Date.Now
            oDoc.DocType = SAPbobsCOM.BoDocumentTypes.dDocument_Service
            oDoc.Lines.ItemDescription = "Line 1"
            oDoc.Lines.Price = 100
            oDoc.Lines.VatGroup = "O1"
            oDoc.Lines.AccountCode = "0000090000"
            oDoc.Lines.Add()
            oDoc.Lines.ItemDescription = "Line 2"
            oDoc.Lines.Price = 200
            oDoc.Lines.VatGroup = "O1"
            oDoc.Lines.AccountCode = "0000090201"
            If oDoc.Add <> 0 Then
                MessageBox.Show(oCompany.GetLastErrorDescription)
            Else
                MessageBox.Show("Added")
            End If
    Hope it helps,
    Adele

  • How to store java objects in the database

    Hi,
    I am trying to store HttpSession state across Application Servers. Basically I am trying to build a sort of application cluster server on my own. I thought the best way to do this was to periodically store the HttpSession object from an application server in a database.
    I created a table in Oracle 8i with a blob column. I use a PreparedStatement.setObject() method to store the HttpSession object in the database. My problem is, I don't know how to get the object back from the database.
    Since ResultSet.getBlob returns the Blob locator, I need to read the BinaryInputStream to get all my data back. This tells me that getBlob basically works only for things like files, and cannot be used for Java objects.
    Is there any way around this? Your input would be much appreciated.
    Regards,
    Somaiah.

    Thanks for the quick reply vramakanth.
    Do I have to use a type map if I do this? Also does such a type map exist for the HttpSession class?
    Thanks,
    Somaiah.

  • How to check the owner of any Object in the database.

    How to check the owner of any Object in the database.
    Thanks
    Himanshu

    What about this ?
    SELECT owner,Object_name,object_type FROM all_objects
    OR
    SELECT owner,Object_name,object_type FROM dba_objects

  • Reg:-10901: Database error: [Microsoft][ODBC SQL Server Driver][DBNETLIB]General network error. Check your network documentation.. Contact your Business Objects administrator or database supplier for more information. (Error: WIS 10901)

    Hi Friends,
    When i schedule the report in infoview ,i am getting this error, could you please let me know how to solve this error.
    10901: Database error: [Microsoft][ODBC SQL Server Driver][DBNETLIB]General network error. Check your network documentation.. Contact your Business Objects administrator or database supplier for more information. (Error: WIS 10901)
    Thanks
    sreedhar

    Hi,
    I am able to refresh the report in Infoview and data is dispalying , but when i schedule the report in infoview i am getting that error.
    I am not clear on below one could you please elaborate on this
    You need to create ODBC for SQL server.Check your BO server is able to connect SQL Server.
    Thanks
    sreedhar

  • Recompile all invalid objects in live database

    Hi Expers,
    Just need a clarification on recompiling all invalid objects in production database when the systems is busy.
    i thought of recompile all the invalid objects using utlrp.sql script in my production database since some of few synonyms were invalid after application patch script been implemented last weekeend.
    we have identifed the invalid objects now, i thought to run the utlrp.sql, what will be the consequences.
    Regards,
    Salai

    Hi Hemanth,
    I'd reserve utlrp.sql for upgrades, downgrades and patchsets. I do agree 101% with above point, I a not denying on that.
    If you really have a large number of invalid objects, you might choose to compile a few "selected" objects every hour instead of running a single-shot "compile all invalid objects". Rare but a possible requirement.I came across such requirement during early days of career during pushing product enhancement to production and we would have get to know the things and number of objects which would go invalid as we use to carry out testing on test databases.
    I agree completely utlrp.sql is suggested and should opt for.
    - Pavan Kumar N

  • Should ADF Entity Object Map to Database Table or View?

    We are building a new 3-tier JClient/ADF application. We have mapped most entity objects directly to database tables. Now that we are preparing to deploy, our DBA is angry; he believes that all entity objects should be mapped to database views. The developers see this as a headache, UML can not forward/reverse changes, and now we have another layer of abstraction, which doesn't seem to serve a useful purpose. What is the best practice in a new 3-tier application?

    Hi,
    I'm still having problems but I found out why these tables are returning errors. The username I've been given by the DBA to connect to the database is CONSULTA, but this user is only for querying purposes, the actual objects reside on a differente schema, of course, which is PROD. So the line:
    "CONSULTA"."ESTADOS"@"PROD@AYADEV_LOCATION" "ESTADOS"
    raises an exception because the table ESTADOS is not located on that schema, but on PROD. If I query the table from SQL Plus with:
    SELECT *
    FROM [email protected]@AYADEV_LOCATION
    then there's no problem at all.
    Why is this? How do I instruct OWB to point to the correct schema or to avoind fully qualifying the table name?
    Please help me, I'm kind of confused here.
    Best Regards,
    --oswaldo.
    [osantos]

  • Attributes in a Serializable object in a file

    Hello,
    I have an application that stores a Serializable object into a file, but when I edit the file I can see the attributes from the stored object. And I thought that when you do that the stored data where bytes, instead of strings.
    Can somebody explain me how can I store an object into a file that cannot be shown the content?
    Here is my code:
    String fichero_datos = "D:\\workspace2\\Cliente\\Datos.dat"; //That is the file
    Cliente elCliente = new Cliente ("Fulanito"); //That is the object that stores a String
    FileOutputStream fo = new FileOutputStream(fichero_datos);
    ObjectOutputStream salida = new ObjectOutputStream(fo);
    salida.writeObject(elCliente);
    salida.flush();
    salida.close();
    fo.close();And the result file:
    �..sr..ClienteJB``}\..L. nombreq..Ljava/lang/String;L ..Fulanito
    I do not want the string �Fulanito� to be accesible by editing the file.
    Thanks a lot for your attention,
    - Susana

    And I thought that when you do that the stored data where bytes, instead of strings. When encoded as UTF-8, String are made up of bytes. You cannot assume that because bytes are used, that the file should be completely unreadable.
    You will have trouble editing the file in a text editor as the binary values will get changed and the the stream will appear to be corrupted.
    The only way to ensure the data is unmodifyable is to encrypt the data.
    If you want the data to be mearly unreadable, add a DeflatorOutputStream between the ObjectOutputStream and the FileOutputStream. This will compress the data and make it unreadbale unless you use an InflatorInputStream.

Maybe you are looking for

  • Wi fi wont connect

    Iphone 4s gives a continuous 'busy' circle when trying to connect to DGN2000 wireless. Password was put in correctly, even configured router with IP of phone. No WiFi at all.

  • Activate Logging in E Commerce Administration

    Hi All Could anyone please advise how to activate Logging in E Commerce 5.0. I have gone through the steps given in Note 1090753. But then also I cannot see anything in Logging in the ECommerce administration. when I go to http://host:port/b2c/admin/

  • Consolidation Property on Shared Member

    Can you set the consolidation property to a shared member different than its stored member? If I edit the outline I seem to have no problem setting a "-" on a shared member where its "+" on the stored member. When I try to do this via a load rule I a

  • Exporting extended EDL from FCP version 7.

    Hello group, I am using FCP version 7 and would like to export an extended EDL which would support long reel names. Names that would correspond to 16 character RED names. Typically such an EDL has a reference list as the bottom of the EDL called a So

  • Change cost planning after copying to different CO version

    Hi, I have done network cost planning through project builder, after completing this I copied my cost planning to different CO version. Now I'm not able to change values of second CO version. I can see the figures in reports, but not able to change u