Friday, May 11, 2012

Cannot commit orddoc Attribute through jdbc datasource

This is a new issue in JDeveloper version : 11.1.1.6.0
After migrating adf application from jdeveloper 11.1.1.4 to 11.1.1.6 the uploading of files in an ORDDOC database field fails with error:
java.sql.SQLException: Undefined type
at oracle.jpub.runtime.Util._convertToOracle(Util.java:277)
at oracle.jpub.runtime.Util.convertToOracle(Util.java:167)
at oracle.jpub.runtime.MutableStruct.getDatumAttribute(MutableStruct.java:323)
at oracle.jpub.runtime.MutableStruct.getDatumAttributes(MutableStruct.java:347)
at oracle.jpub.runtime.MutableStruct.toDatum(MutableStruct.java:118)
at oracle.ord.im.OrdSource.toDatum(OrdSource.java:93)
...

Defect 14058697 has been created  in oracle support

details in ADFEMG-22

At this time, disabling the wrapping seems to be the only viable option.
see Using Unwrapped Data Type Objects
http://docs.oracle.com/cd/E21764_01/web.1111/e13737/ds_tuning.htm#CHDEIBCE
We tested in test case and in our application and this workaround works.

2 comments:

  1. Still getting the same error for image upload in JDev 11.1.1.6.0.
    Error on weblogic as below
    java.sql.SQLException: Undefined type
    at oracle.jpub.runtime.Util._convertToOracle(Util.java:277)
    at oracle.jpub.runtime.Util.convertToOracle(Util.java:167)
    at oracle.jpub.runtime.MutableStruct.getDatumAttribute(MutableStruct.java:323)
    at oracle.jpub.runtime.MutableStruct.getDatumAttributes(MutableStruct.java:347)
    at oracle.jpub.runtime.MutableStruct.toDatum(MutableStruct.java:118)
    at oracle.ord.im.OrdSource.toDatum(OrdSource.java:93)
    at oracle.jpub.runtime.Util._convertToOracle(Util.java:183)
    at oracle.jpub.runtime.Util.convertToOracle(Util.java:167)
    at oracle.jpub.runtime.MutableStruct.getDatumAttribute(MutableStruct.java:323)
    at oracle.jpub.runtime.MutableStruct.getDatumAttributes(MutableStruct.java:347)
    at oracle.jpub.runtime.MutableStruct.toDatum(MutableStruct.java:118)
    at oracle.ord.im.OrdImageBase.toDatum(OrdImageBase.java:99)
    at oracle.jdbc.driver.OraclePreparedStatement.setORADataInternal(OraclePreparedStatement.java:10450)
    at oracle.jdbc.driver.OraclePreparedStatement.setObjectInternal(OraclePreparedStatement.java:11651)
    at oracle.jdbc.driver.OraclePreparedStatement.setObject(OraclePreparedStatement.java:11631)
    at oracle.jdbc.driver.OraclePreparedStatementWrapper.setObject(OraclePreparedStatementWrapper.java:253)

    ReplyDelete
    Replies
    1. At this time, disabling the wrapping seems to be the only viable option.
      see Using Unwrapped Data Type Objects
      http://docs.oracle.com/cd/E21764_01/web.1111/e13737/ds_tuning.htm#CHDEIBCE

      Delete