Hi Norbert,
first, I never used Oracle, so I don't have the foggiest notion.
As far as I can remember we have a similar problem with LONGVARBINARY and fix it by reading data using a stream, see inner class
org.apache.ojb.broker.util.JdbcTypesHelper.T_LongVarBinary
Maybe we need a similar patch in org.apache.ojb.broker.util.JdbcTypesHelper.T_LongVarChar too.
Maybe I'm completely wrong ;-)
regards, Armin
Erhart Norbert, R235 wrote:
Hello folks,
we got some problems using ojb 1.0.1 with Oracle datatype LONG and Sun JDK 1.4.2_05. The problem didn't occur with ojb 1.0.0. Ojb 1.0.1 with JDK 1.3.x is working fine too.
We get the following exception:
org.apache.ojb.broker.PersistenceBrokerException: Error reading class type: de.akdb.ok.komm.entity.TraceResponse from result set, current read field was inhalt at org.apache.ojb.broker.accesslayer.RowReaderDefaultImpl.readValuesFrom(Unknown Source) at org.apache.ojb.broker.accesslayer.RowReaderDefaultImpl.readObjectArrayFrom(Unknown Source) at org.apache.ojb.broker.accesslayer.RsIterator.getObjectFromResultSet(Unknown Source) at org.apache.ojb.broker.accesslayer.RsIterator.next(Unknown Source) at org.apache.ojb.broker.accesslayer.BasePrefetcher.prefetchRelationship(Unknown Source) at org.apache.ojb.broker.core.QueryReferenceBroker.performRetrievalTasks(Unknown Source) at org.apache.ojb.broker.core.QueryReferenceBroker.getCollectionByQuery(Unknown Source) at org.apache.ojb.broker.core.QueryReferenceBroker.getCollectionByQuery(Unknown Source) at org.apache.ojb.broker.core.PersistenceBrokerImpl.getCollectionByQuery(Unknown Source) at org.apache.ojb.broker.core.DelegatingPersistenceBroker.getCollectionByQuery(Unknown Source) at org.apache.ojb.broker.core.DelegatingPersistenceBroker.getCollectionByQuery(Unknown Source) [...] Caused by: java.sql.SQLException: Stream wurde schon geschlossen 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.ttc7.LongTTCItem.getChars(LongTTCItem.java:189) at oracle.jdbc.dbaccess.DBDataSetImpl.getCharsStreamItem(DBDataSetImpl.java:1630) at oracle.jdbc.driver.OracleStatement.getCharsInternal(OracleStatement.java:3347) at oracle.jdbc.driver.OracleStatement.getStringValue(OracleStatement.java:3556) at oracle.jdbc.driver.OracleResultSetImpl.getString(OracleResultSetImpl.java:434) at oracle.jdbc.driver.OracleResultSet.getString(OracleResultSet.java:1482) at org.apache.ojb.broker.util.JdbcTypesHelper$T_LongVarChar.readValueFromResultSet(Unknown Source) at org.apache.ojb.broker.util.JdbcTypesHelper$BaseType.getObjectFromColumn(Unknown Source) at org.apache.ojb.broker.util.JdbcTypesHelper$BaseType.getObjectFromColumn(Unknown Source) ... 53 more
The class-descriptor looks like this:
<class-descriptor class="de.akdb.ok.komm.entity.TraceResponse" schema="kom" table="KOMTRACERESP"
<field-descriptor name="id" column="ID" jdbc-type="BIGINT" primarykey="true" autoincrement="true" /> <field-descriptor name="mandant" column="MANDANT" jdbc-type="VARCHAR" length="30" /> <field-descriptor name="inhalt" column="INHALT" jdbc-type="LONGVARCHAR" /> </class-descriptor>
Any Ideas, what we are doing wrong or is there a problem with ojb itself?
Looking forward to your answers.
Regards Norbert
--------------------------------------------------------------------- To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
--------------------------------------------------------------------- To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]