RE: Long Raw Insertion

From: Andrus Adamchik (andru..bjectstyle.org)
Date: Thu May 01 2003 - 12:44:12 EDT

  • Next message: Laszlo Spoor: "[question] about in statements.. DISREGARD"

    Never mind, 8i == 8.1.7. Should get some sleep :-)

    > Umm... overlooked that you are on 8.1.7, not 8i. This could make it
    > worse...not sure if it even had BLOBs back then?
    >
    > Andrus
    >
    >> I haven't been using Oracle 8i for quiet some time (all my installs
    >> are 9i). But this error does seem like an Oracle driver issue. Both
    >> the stack trace and you mentioning that it starts happenning when the
    >> size goes up to a certain value makes me think that. Anyone on the
    >> list who knows about 8i behavior?
    >>
    >> Also I remember reading in the Oracle docs about deprecating LONG*
    >> columns in favor of BLOB/CLOB, and also something about bugs in 8i
    >> drivers with this type of columns. Is it an option for you to switch
    >> to BLOB? Such switch would *require* upgrading Cayenne though. None of
    >> the Alphas were BLOB-friendly.
    >>
    >> Andrus
    >>
    >>
    >>> Andrus,
    >>>
    >>> Thanks for your response.
    >>>
    >>> Yes, we plan on upgrading our Cayenne when time permits. As for the
    >>> error, its a java.sql.SQLException. The stack trace is rather long,
    >>> but here it is.
    >>>
    >>> Lonnie
    >>>
    >>>
    >>> WARN QueryLogger: *** error.
    >>> java.sql.SQLException: ORA-01483: invalid length for DATE or NUMBER
    >>> bind variabl e
    >>>
    >>> at
    >>> oracle.jdbc.dbaccess.DBError.throwSqlException(DBError.java:168) at
    >>> oracle.jdbc.ttc7.TTIoer.processError(TTIoer.java:208)
    >>> at oracle.jdbc.ttc7.Oall7.receive(Oall7.java:543)
    >>> at
    >>> oracle.jdbc.ttc7.TTC7Protocol.doOall7(TTC7Protocol.java:1405)
    >>> at
    >>> oracle.jdbc.ttc7.TTC7Protocol.parseExecuteFetch(TTC7Protocol.java:822
    >>> )
    >>> at
    >>> oracle.jdbc.driver.OracleStatement.executeNonQuery(OracleStatement.ja
    >>> va:1446)
    >>> at
    >>> oracle.jdbc.driver.OracleStatement.doExecuteOther(OracleStatement.jav
    >>> a:1371)
    >>> at
    >>> oracle.jdbc.driver.OracleStatement.doExecuteWithTimeout(OracleStateme
    >>> nt.java:1900)
    >>> at
    >>> oracle.jdbc.driver.OraclePreparedStatement.executeUpdate(OraclePrepar
    >>> edStatement.java:363)
    >>> at
    >>> org.apache.commons.dbcp.DelegatingPreparedStatement.executeUpdate(Del
    >>> egatingPreparedStatement.java:205)
    >>> at
    >>> org.objectstyle.cayenne.access.DataNode.runUpdate(DataNode.java:411)
    >>> at
    >>> org.objectstyle.cayenne.access.DataNode.performQueries(DataNode.java:
    >>> 280)
    >>> at
    >>> org.objectstyle.cayenne.access.DataDomain.performQueries(DataDomain.j
    >>> ava:427)
    >>> at
    >>> org.objectstyle.cayenne.access.DataContext.commitChanges(DataContext.
    >>> java:759)
    >>> at
    >>>
    >>>
    >>>
    >>>> I'm trying to insert a binary object into a Long Raw column in an
    >>>> Oracle 8.1.7 database. I have success when the object is small, but
    >>>> fails at a certain size. However, the object that fails is no where
    >>>> near the 2Gigabyte max Oracle allows. Does anyone out there know a)
    >>>> is this is a Cayenne or Oracle issue and b) how to get around this?
    >>>> We currently using Cayenne-1.0a5-1.
    >>>>
    >>>> Lonnie
    >>>
    >>>
    >>> Lonnie,
    >>>
    >>> Two recommendations how to proceed:
    >>>
    >>> 1. Try upgrading to the latest release (if only for testing) - we
    >>> added much better support for binary data handling in the first Beta.
    >>>
    >>> 2. What kind of error are you getting? Do you have a stack trace?
    >>>
    >>> Andrus



    This archive was generated by hypermail 2.0.0 : Thu May 01 2003 - 12:44:13 EDT