You are viewing a plain text version of this content. The canonical link for it is here.
Posted to ojb-user@db.apache.org by gf...@fys.com.ar on 2004/03/08 19:43:17 UTC

Re: String Array storing problem in HSQL (FIXED)

Just fixed it.

Wrong data type

It work this way:
<field-descriptor column="rubCamposModif" jdbc-type="VARBINARY" 
name="camposModif" 
conversion="org.apache.ojb.broker.accesslayer.conversions.Object2ByteArrFieldConversion"/>

Database data type is BINARY.

Thanks.
Gustavo.





gfaerman@fys.com.ar 
08/03/2004 12:55 p.m.
Please respond to
"OJB Users List" <oj...@db.apache.org>


To
"OJB Users List" <oj...@db.apache.org>
cc

Subject
String Array storing problem in HSQL






Hi, first of all, sorry of my english...
I'm having a problem storing a String array in a column in a HSQLDB 
database.

The repository mapping i'm using is the folowing:
<class-descriptor class="ar.com.fys.campo.app.entidades.RubroImpl"
  table="Rubro">
   .
   . 
   <field-descriptor column="rubCamposModific" jdbc-type="BLOB" 
name="camposModif" 
conversion="org.apache.ojb.broker.accesslayer.conversions.Object2ByteArrFieldConversion"/>
   .
</class-descriptor>

And in the database the field type is OBJECT.
What's the problem?
Thanks.
Matias.

The error is:

org.apache.ojb.broker.PersistenceBrokerSQLException: SQL failure while 
insert object data for class ar.com.fys.campo.app.entidades.RubroImpl, PK 
of the given object is [ OID=F0B29418-C3CC-EC02-FCE6-716798B48ABC], object 

was ar.com.fys.campo.app.entidades.Rubro: 
F0B29418-C3CC-EC02-FCE6-716798B48ABC, exception message is [This function 
is not supported: 2004]
at 
org.apache.ojb.broker.accesslayer.JdbcAccessImpl.executeInsert(JdbcAccessImpl.java:281)
at 
org.apache.ojb.broker.core.PersistenceBrokerImpl.storeToDb(PersistenceBrokerImpl.java:1461)
at 
org.apache.ojb.broker.core.PersistenceBrokerImpl.store(PersistenceBrokerImpl.java:1378)
at 
org.apache.ojb.broker.core.PersistenceBrokerImpl.store(PersistenceBrokerImpl.java:730)
at 
org.apache.ojb.broker.core.DelegatingPersistenceBroker.store(DelegatingPersistenceBroker.java:165)
at 
org.apache.ojb.broker.core.DelegatingPersistenceBroker.store(DelegatingPersistenceBroker.java:165)
at 
ar.com.fys.campo.app.servidor.controller.ControladorBD.grabar(ControladorBD.java:78)
at 
ar.com.fys.campo.app.servidor.useCase.GrabandoRubro.ejecuta(GrabandoRubro.java:54)
at 
ar.com.fys.campo.app.servidor.useCase.AccionFSC.validaCredencial(AccionFSC.java:57)
at 
ar.com.fys.campo.app.servidor.useCase.AccionFSC.<init>(AccionFSC.java:21)
at 
ar.com.fys.campo.app.servidor.useCase.GrabandoRubro.<init>(GrabandoRubro.java:28)
at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method)
at 
sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:39)
at 
sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:27)
at java.lang.reflect.Constructor.newInstance(Constructor.java:274)
at 
ar.com.fys.campo.app.utils.EjecutaMetodos.runMetodo(EjecutaMetodos.java:29)
at 
ar.com.fys.campo.app.servidor.controller.ControladorApp.ejecutaCasoUsoServer(ControladorApp.java:133)
at 
ar.com.fys.campo.app.servidor.controller.ControladorApp.ejecutaCasoUsoServer(ControladorApp.java:114)
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:324)
at sun.rmi.server.UnicastServerRef.dispatch(UnicastServerRef.java:261)
at sun.rmi.transport.Transport$1.run(Transport.java:148)
at java.security.AccessController.doPrivileged(Native Method)
at sun.rmi.transport.Transport.serviceCall(Transport.java:144)
at 
sun.rmi.transport.tcp.TCPTransport.handleMessages(TCPTransport.java:460)
at 
sun.rmi.transport.tcp.TCPTransport$ConnectionHandler.run(TCPTransport.java:701)
at java.lang.Thread.run(Thread.java:536)
Caused by: java.sql.SQLException: This function is not supported: 2004
at org.hsqldb.Trace.getError(Unknown Source)
at org.hsqldb.Trace.error(Unknown Source)
at org.hsqldb.Column.convertString(Unknown Source)
at org.hsqldb.Column.convertObject(Unknown Source)
at org.hsqldb.jdbcPreparedStatement.setObject(Unknown Source)
at 
org.apache.ojb.broker.platforms.PlatformDefaultImpl.setObjectForStatement(PlatformDefaultImpl.java:266)
at 
org.apache.ojb.broker.accesslayer.StatementManager.bindInsert(StatementManager.java:488)
at 
org.apache.ojb.broker.accesslayer.JdbcAccessImpl.executeInsert(JdbcAccessImpl.java:232)
... 28 more