René:
Any chance getting the translation for "Ungültiger Spaltentyp"? :)
Oracle USUALLY throws its SQL Exceptions with an ORA number..
>
> That's a JDBC-level error. At this point I don't think this
> is anything Cayenne-related. Check that you have driver
> version matching the Oracle version. Try to reproduce the
> problem from a test application going directly through JDBC,
> and if it still breaks, submit a bug to Oracle.
>
> Still strange... Cayenne is being tested on Oracle 9i
> nightly, and I have never seen this problem...
>
> Andrus
>
> > I get the following error:
> >
> > 24.12 18:12:59,360|[ShutdownHook]|INFO |access.QueryLogger
> |
> > - select id, comdeviceevnmeth_id, isacknowledge, comdevice_id,
> > txdatetime, rxdatetime, gpstime, gpslongitude, gpslatitude,
> > directionofmotion, velocity, locationangle, locationdescription,
> > locationdistance, t.indata.getclobval() indata, creation,
> creationby,
> > modification, modificationby, isdeleted,
> comdeviceevnstate_id, tour_id
> > from comdeviceevent t where
> > t.comdeviceevnstate_id=1 order by
> t.comdevice_id,t.txdatetime,t.gpstime
> > 24.12 18:12:59,420|[ShutdownHook]|INFO |access.QueryLogger
> |
> > - *** error.
> > java.sql.SQLException: Ungültiger Spaltentyp
> > at
> oracle.jdbc.dbaccess.DBError.throwSqlException(DBError.java:134)
> > at
> > oracle.jdbc.dbaccess.DBError.throwSqlException(DBError.java:179) at
> > oracle.jdbc.dbaccess.DBError.throwSqlException(DBError.java:269) at
> >
> oracle.jdbc.driver.OracleStatement.getTimestampValue(OracleStatement.j
> > ava:498
> > 2)
> > at
> >
> oracle.jdbc.driver.OracleResultSetImpl.getTimestamp(OracleResu
> ltSetImpl.java:
> > 689)
> > at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
> > at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source)
> > at
> sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source) at
> > java.lang.reflect.Method.invoke(Unknown Source)
> > at
> >
> org.objectstyle.cayenne.access.types.DefaultType.materializeObject(Def
> > aultTyp
> > e.java:243)
> > at
> >
> org.objectstyle.cayenne.access.DefaultResultIterator.readDataRow(Defau
> > ltResul
> > tIterator.java:250)
> > at
> >
> org.objectstyle.cayenne.access.DefaultResultIterator.nextDataRow(Defau
> > ltResul
> > tIterator.java:194)
> > at
> >
> org.objectstyle.cayenne.access.DefaultResultIterator.dataRows(DefaultR
> > esultIt
> > erator.java:224)
> > at
> >
> org.objectstyle.cayenne.access.jdbc.SQLTemplateSelectExecutionPlan.exe
> > cute(SQ
> > LTemplateSelectExecutionPlan.java:149)
> > at
> >
> org.objectstyle.cayenne.access.DataNode.performQueries(DataNod
> e.java:342)
> > at
> >
> org.objectstyle.cayenne.access.DataDomain.performQueries(DataD
> omain.java:654)
> > at
> >
> org.objectstyle.cayenne.access.DataContext.performQueries(DataContext.
> > java:14
> > 08)
> > at
> >
> org.objectstyle.cayenne.access.Transaction.performQueries(Transaction.
> > java:17
> > 9)
> > at
> >
> org.objectstyle.cayenne.access.DataContext.performQueries(DataContext.
> > java:13
> > 66)
> > at
> >
> org.objectstyle.cayenne.access.DataContext.performQuery(DataContext.ja
> > va:1622
> > )
> > at
> >
> org.objectstyle.cayenne.access.DataContext.performQuery(DataContext.ja
> > va:1485
> > )
> > at
> >
> de.ivu.combitour.dao.ComdeviceeventDAO.findUnprocessed(ComdeviceeventD
> > AO.java
> > :84)
> > at
> >
> de.ivu.combitour.telematik.CdepController.processEvents(CdepController
> > .java:1
> > 11)
> > at de.ivu.combitour.telematik.Cdep.ProcessIdle(Cdep.java:75)
> > at de.ivu.combitour.ShutdownHook$1.run(ShutdownHook.java:25)
> >
> > Thats the statement:
> >
> > String sqlStr = "select id, comdeviceevnmeth_id, isacknowledge,
> > comdevice_id, "
> > + "#result('txdatetime'
> > 'java.sql.Timestamp'), "
> > + "#result('rxdatetime'
> > 'java.sql.Timestamp'), "
> > + "#result('gpstime'
> 'java.sql.Timestamp'),"
> > + " gpslongitude, gpslatitude, "
> > + "directionofmotion, velocity,
> > locationangle, locationdescription, "
> > + "locationdistance,
> t.indata.getclobval() indata, "
> > + "#result('creation'
> 'java.sql.Timestamp'), "
> > + "creationby, "
> > + "#result('modification'
> > 'java.sql.Timestamp'), "
> > + "modificationby, isdeleted, "
> > + "comdeviceevnstate_id, tour_id "
> > + "from comdeviceevent t where
> > t.comdeviceevnstate_id=1"
> > + " order by
> > t.comdevice_id,t.txdatetime,t.gpstime";
> >
> > Regards
> > René
> >
> >> -----Ursprüngliche Nachricht-----
> >> Von: Andrus Adamchik [mailto:andru..bjectstyle.org]
> >> Gesendet: Donnerstag, 24. Februar 2005 17:58
> >> An: cayenne-use..bjectstyle.org
> >> Betreff: Re: Problem with Date/Time-part
> >>
> >> Maybe it doesn't, but Oracle driver is a strange beast.
> Could you try
> >> using SQLTemplate with a "#result" directive
> >> (http://objectstyle.org/cayenne/userguide/fetch/sqltemplate-sc
> >> ripting.html).
> >> In your sqlString variable replace all date columns with scriplets
> >> like this one:
> >>
> >> #result('creation' 'java.sql.Timestamp')
> >>
> >> Does it change anything?
> >>
> >> Andrus
> >>
> >>
> >> > Hi,
> >> >
> >> > This is a sample. But the access method doesnt matter IMHO,
> >> even if i
> >> > access a object by ObjA.getToObjB() it is the same behaviour.
> >> >
> >> > -->
> >> > public List findUnprocessed() {
> >> >
> >> > String sqlStr = "select id,
> >> comdeviceevnmeth_id, isacknowledge,
> >> > comdevice_id, "
> >> > + "txdatetime, rxdatetime,
> >> gpstime, gpslongitude, gpslatitude, "
> >> > + "directionofmotion, velocity,
> locationangle,
> >> > locationdescription, "
> >> > + "locationdistance,
> >> t.indata.getclobval() indata, creation, "
> >> > + "creationby, modification,
> >> modificationby, isdeleted, "
> >> > + "comdeviceevnstate_id, tour_id "
> >> > + "from comdeviceevent t where
> >> > t.comdeviceevnstate_id=1"
> >> > + " order by
> >> > t.comdevice_id,t.txdatetime,t.gpstime";
> >> >
> >> > List retval = null;
> >> >
> >> > DataContext ctx
> >> _SingletonDataContext.getInstance().getCtx();
> >> >
> >> > SQLTemplate rsCde = new
> >> SQLTemplate(Comdeviceevent.class, sqlStr,
> >> > true);
> >> >
> >> > retval = ctx.performQuery(rsCde);
> >> >
> >> > return retval;
> >> > }
> >> >
> >> > <--
> >> >
> >> >
> >> >
> >>
> >>
> >>
>
>
>
>
This archive was generated by hypermail 2.0.0 : Thu Feb 24 2005 - 14:14:36 EST