Hi Alexander,
thank you for your quick answer. If I look at the error stack trace in jboss log, I have:


16:20:49,531 ERROR [LogInterceptor] TransactionRolledbackException in method: public abstract ca.TDTConsultants.Utilitaires.interfaces.DTOCacheEntity ca.TDTConsultants.Utilitaires.interfaces.DTOCacheEntityHome.create(ca.TDTConsultants.Utilitaires.interfaces.DTOCacheEntityData) throws ca.TDTConsultants.Utilitaires.interfaces.InvalidValueException,javax.ejb.CreateException,ca.TDTConsultants.Utilitaires.interfaces.ServiceUnavailableException,java.rmi.RemoteException,java.rmi.RemoteException, causedBy:
com.sap.dbtech.jdbc.translators.ConversionExceptionSapDB: Cannot put ASCII data into this LONG column.
at com.sap.dbtech.jdbc.translators.StreamTranslator.transStringForInput(StreamTranslator.java:385)
at com.sap.dbtech.jdbc.translators.DBTechTranslator.transObjectForInput(DBTechTranslator.java:1121)
at com.sap.dbtech.jdbc.CallableStatementSapDB.setObject(CallableStatementSapDB.java:1800)
at com.sap.dbtech.jdbc.CallableStatementSapDB.setObject(CallableStatementSapDB.java:1827)
at org.jboss.resource.adapter.jdbc.WrappedPreparedStatement.setObject(WrappedPreparedStatement.java:620)
at org.jboss.ejb.plugins.cmp.jdbc.JDBCUtil.setParameter(JDBCUtil.java:1278)


I dowloaded the source of the jdbc driver and I am puzzled by DBTechTranslator.java line 1121 which is:

result = this.transStringForInput (val.toString ());

If val is the object in trying to write to sapdb, correct me if I am wrong but I don't see how this can work in my case. I was expecting something using ObjectOutputStream and ByteArrayOutputStream. The current statement could be used in the catch clause if the object is not serializable. I don't know if this is useful, the jboss jaws file extract pertinent to this is:

    <mapping>
       <java-type>java.lang.Object</java-type>
       <jdbc-type>JAVA_OBJECT</jdbc-type>
       <sql-type>LONG BINARY</sql-type>
    </mapping>


I cannot give you the offending statement and parameter since I am using CMP and It is issued deep inside jboss. The table schema is very simple, along with the LONG column, there are 4 Integer columns, a VarChar(256), a TimeStamp and a Boolean columns.


Do not hesitate if you need more information,

Sincerely,

Yves

Schroeder, Alexander a �crit :

Hello Yves,

the problem in february was that the driver *incorrectly* did throw this error,
without having a cause. However there are cases where this error is expected,
so would you mind telling what you are trying to do (table schema, and conflicting
statement/parameters).

Thanks

Alexander Schr�der
SAP DB, SAP Labs Berlin




-----Original Message-----
From: Yves Trudeau [mailto:[EMAIL PROTECTED]
Sent: Saturday, January 24, 2004 6:33 PM
To: SAPDB List
Subject: SapDB and JBoss


Hi,
I have a problem with SapDB and JBoss which is exactly like the one
posted on this list in last february by Daniel Niklas, when JBoss
attempt to write a java object in a LONG BINARY columns, the SapDB JDBC
driver send the following error:


Cannot put ASCII data into this LONG column

In the february post, the solution was to update the jdbc driver but
yesterday I installed the latest driver and I still has the same
problem. Is there a way to investiguate this problem. By the way, I use
JBoss 3.2.2 with Sun j2sdk 1.4.2_03.


Sincerely,

Yves

--

Yves Trudeau, Ph.D.
Analyste en syst�mes
T�treau Dumont Trudeau consultants inc.




--
MaxDB Discussion Mailing List
For list archives: http://lists.mysql.com/maxdb
To unsubscribe: http://lists.mysql.com/[EMAIL PROTECTED]








-- Yves Trudeau, Ph.D. Analyste en syst�mes T�treau Dumont Trudeau consultants inc.



Reply via email to