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