Re: Errors trying to insert values on Oracle LONG data type with Cayenne

From: Giulio Cesare Solaroli (giulio.cesar..mail.com)
Date: Thu Jan 27 2005 - 06:10:02 EST

  • Next message: laila paganelli: "Problems with CommitChanges and object PersistenceState"

    I am pleased to let you know that, thanks to Andrus suggestion, we
    have been able to solve our problem.

    It was enough to write a simple ExtendedType implementation for Oracle
    LONG fields.

    Attached is the code one of my colleague has written, hoping it could
    be helpful to somebody else.

    Thanks again,

    GIulio Cesare

    On Wed, 26 Jan 2005 17:40:27 +0100, Giulio Cesare Solaroli
    <giulio.cesar..mail.com> wrote:
    > I will try to look at that documentation.
    >
    > Thanks very much for this pointer.
    >
    > Giulio Cesare
    >
    > On Wed, 26 Jan 2005 10:51:52 -0500 (EST), Andrus Adamchik
    > <andru..bjectstyle.org> wrote:
    > > Hmm, maybe something that has to be fixed with a custom ExtendedType
    > > (http://objectstyle.org/cayenne/userguide/access-stack/extended-types.html)...
    > > BTW, how do you bind a LONGVARCHAR parameter to PreparedStatement in the
    > > manual JDBC code - this should give hint on how to configure Cayenne
    > > adapter (and maybe come up with a solution that does not require a custom
    > > extended type).
    > >
    > > Andrus
    > >
    > >
    > > > Hi Andrus,
    > > >
    > > > we have tried to use both the 9.0.2 and 8.1.7 (release 2) JDBC
    > > > drivers, but with the same outcome. With both drivers, we have been able
    > > > to write to LONG fields using bare bones jdbc calls.
    > > >
    > > > The error we are seeing is this:
    > > > 192.168.1.6: INFO 2005-01-26 12:57:32,015 *** error.
    > > > java.sql.SQLException: Data size bigger than max size for this type:
    > > > 5633 at oracle.jdbc.dbaccess.DBError.throwSqlException(DBError.java:134)
    > > > at oracle.jdbc.dbaccess.DBError.throwSqlException(DBError.java:179) at
    > > > oracle.jdbc.ttc7.TTCItem.setArrayData(TTCItem.java:147)
    > > > at
    > > > oracle.jdbc.dbaccess.DBDataSetImpl.setBytesBindItem(DBDataSetImpl.java:2460)
    > > > at
    > > > oracle.jdbc.driver.OraclePreparedStatement.setItem(OraclePreparedStatement.java:1190)
    > > > at
    > > > oracle.jdbc.driver.OraclePreparedStatement.setString(OraclePreparedStatement.java:1610)
    > > > at
    > > > oracle.jdbc.driver.OraclePreparedStatement.setObject(OraclePreparedStatement.java:2856)
    > > > at
    > > > oracle.jdbc.driver.OraclePreparedStatement.setObject(OraclePreparedStatement.java:3107)
    > > > at
    > > > org.objectstyle.cayenne.access.types.AbstractType.setJdbcObject(AbstractType.java:78)
    > > > at
    > > > org.objectstyle.cayenne.access.types.CharType.setJdbcObject(CharType.java:202)
    > > > at
    > > > org.objectstyle.cayenne.dba.JdbcAdapter.bindParameter(JdbcAdapter.java:544)
    > > > at
    > >
    > >
    >





    This archive was generated by hypermail 2.0.0 : Thu Jan 27 2005 - 06:10:05 EST