Use the latest driver. We had trouble until we went with 11.2.0.3. It now
works just fine for us.
On Jul 2, 2012 4:21 PM, "Joseph Senecal" <sene...@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
>

Reply via email to