cayenne-user mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Michael Gentry <mgen...@masslight.net>
Subject Re: Writing blobs fails
Date Tue, 03 Jul 2012 00:30:45 GMT
Hi Joe,

I don't have any Oracle instances to ping at the moment, but I was
recently writing BLOBs to Oracle 11 using the ojdbc4.jar driver (if my
memory is correct) with Cayenne 3.0.2.  I'm not sure if this tidbit
will help you at all, but thought I'd toss it out.

mrg


On Mon, Jul 2, 2012 at 5:19 PM, Joseph Senecal <senecal@apple.com> wrote:
> Background:
> Deploying Cayenne program to some new Linux servers, we're getting exceptions when the
program tries to write a blob:
>
> Caused by: java.sql.SQLException: Invalid argument(s) in call
>         at oracle.jdbc.driver.T4CConnection.newOutputStream(T4CConnection.java:2753)
~[ojdbc6.jar:11.2.0.1.0]
>         at oracle.sql.BLOB.setBinaryStream(BLOB.java:893) ~[ojdbc6.jar:11.2.0.1.0]
>         at org.apache.cayenne.dba.oracle.OracleLOBBatchAction.writeBlob(OracleLOBBatchAction.java:255)
~[cayenne-server-3.1M3.jar:na]
>         at org.apache.cayenne.dba.oracle.OracleLOBBatchAction.processLOBRow(OracleLOBBatchAction.java:211)
~[cayenne-server-3.1M3.jar:na]
>         at org.apache.cayenne.dba.oracle.OracleLOBBatchAction.performAction(OracleLOBBatchAction.java:132)
~[cayenne-server-3.1M3.jar:na]
>         at org.apache.cayenne.access.DataNodeQueryAction.runQuery(DataNodeQueryAction.java:87)
~[cayenne-server-3.1M3.jar:na]
>         at org.apache.cayenne.access.DataNode.performQueries(DataNode.java:278) ~[cayenne-server-3.1M3.jar:na]
>         at org.apache.cayenne.access.DataDomainFlushAction.runQueries(DataDomainFlushAction.java:237)
~[cayenne-server-3.1M3.jar:na]
>         at org.apache.cayenne.access.DataDomainFlushAction.flush(DataDomainFlushAction.java:154)
~[cayenne-server-3.1M3.jar:na]
>         at org.apache.cayenne.access.DataDomain.onSyncFlush(DataDomain.java:803) ~[cayenne-server-3.1M3.jar:na]
>         at org.apache.cayenne.access.DataDomain$2.transform(DataDomain.java:767) ~[cayenne-server-3.1M3.jar:na]
>         at org.apache.cayenne.access.DataDomain.runInTransaction(DataDomain.java:828)
~[cayenne-server-3.1M3.jar:na]
>         at org.apache.cayenne.access.DataDomain.onSyncNoFilters(DataDomain.java:764)
~[cayenne-server-3.1M3.jar:na]
>         at org.apache.cayenne.access.DataDomain$DataDomainSyncFilterChain.onSync(DataDomain.java:980)
~[cayenne-server-3.1M3.jar:na]
>         at org.apache.cayenne.access.DataDomain.onSync(DataDomain.java:735) ~[cayenne-server-3.1M3.jar:na]
>         at org.apache.cayenne.access.DataContext.flushToParent(DataContext.java:818)
~[cayenne-server-3.1M3.jar:na]
>         ... 8 common frames omitted
>
>
> As you can see from the trace, I'm still using M3. I found a couple of blogs related
to this issue:
>
> One specific to Cayenne from 2010:
> http://cayenne.195.n3.nabble.com/Cayenne-error-while-committing-CLOB-on-Oracle-td1475847.html
>
> And one that describes what's happening (not Cayenne specific):
> http://java.ittoolbox.com/groups/technical-functional/java-l/invalid-arguments-in-call-in-line-oraclesqlblobcreatetemporary-oracle-10g-1468092
>
> Question:
> Has this problem been fixed in 3.1B1? Or is our only option to find and use an older
Oracle JDBC adapter. Or is there more to this issue than what I've found?
>
> Joe

Mime
View raw message