Hello,
make a byte array from your serialized object and insert this byte array:

      SerialTest st=new SerialTest(1, "String one");   // SerialTest is
java.io.Serializable object 
      PreparedStatement prepSt=connection.prepareStatement("insert into
BLOBTAB values (?,?)"); 
      prepSt.setInt(1, 1); 
      prepSt.setObject(2, st.getBytes());  // This column is declared as
LONG BYTE 
      prepSt.execute(); 
      connection.commit(); 
      prepSt.close(); 

Regards,
Marco
----------------------------------------------
Marco PASKAMP
SAP DB, SAP Labs Berlin

> -----Original Message-----
> From: Vadim Parfenov [mailto:[EMAIL PROTECTED]]
> Sent: Dienstag, 26. M�rz 2002 01:35
> To: [EMAIL PROTECTED]
> Subject: Storing java.io.Serializable objects in SapDB 
> 
> 
> Hello; 
> I need to store serializable java objects in SapDb.  I tried 
> the following simple approach: 
> 1) Declared LONG BYTE column in my database table; 
> 2) Used PreparedStatement.setObject(int, java.lang.Object) 
> method to set the object to be stored.  Below is small code 
> fragment of what I tried to do:
>       SerialTest st=new SerialTest(1, "String one");   // 
> SerialTest is java.io.Serializable object 
>       PreparedStatement 
> prepSt=connection.prepareStatement("insert into BLOBTAB 
> values (?,?)"); 
>       prepSt.setInt(1, 1); 
>       prepSt.setObject(2, st);  // This column is declared as 
> LONG BYTE 
>       prepSt.execute(); 
>       connection.commit(); 
>       prepSt.close(); 
> Unfortunately the attempt to store object using this approach 
> results in the following exception: 
> com.sap.dbtech.jdbc.translators.ConversionExceptionSapDB: 
> Cannot put ASCII data into this long column 
> at 
> com.sap.dbtech.jdbc.translators.StreamTranslator.transAsciiStr
> eamForInput(StreamTranslator.java:251) 
> at 
> com.sap.dbtech.jdbc.translators.StreamTranslator.transStringFo
> rInput(StreamTranslator.java:340)      
> at 
> com.sap.dbtech.jdbc.translators.DBTechTranslator.transObjectFo
> rInput(DBTechTranslator.java:1031)     
> at 
> com.sap.dbtech.jdbc.CallableStatementSapDB.setObject(CallableS
> tatementSapDB.java:1571)       
> at 
> com.sap.dbtech.jdbc.trace.PreparedStatement.setObject(Prepared
> Statement.java:1101) 
> at sapdb.BasicCheck.writeTestObject(BasicCheck.java:134) 
> Are there any ways to write/read java.io.Serializable objects 
> using com.sap.dbtech.jdbc.DriverSapDB driver?  I am using 
> sapdb-jdbc-bin-7.3.0.23a.jar driver (the latest I found) with 
> SapDB 7.3.
> Any help is appreciated. 
> Thank you, 
> Vadim 
> 
_______________________________________________
sapdb.general mailing list
[EMAIL PROTECTED]
http://listserv.sap.com/mailman/listinfo/sapdb.general

Reply via email to