Unable to insert large data into CLOB using OCI driver

Hi

I am facing a problem when inserting into a CLOB field. The service throws an exception when the data is large. The insert works fine with small strings. I am using the oci driver on JDBC Adapter 6.0.3 on HP-UX, Integration Server 6.5.1, Oracle 9i and ojdbc14.jar.

The strange thing is that the data gets inserted correctly in the database even when the flow throws an exception!

The same service works fine on Windows.

com.wm.pkg.art.error.DetailedServiceException: [ART.117.4002] Adapter Runtime (Adapter Service): Unable to invoke adapter service eBankAdapterServices.payroll.insert:insertPayroll. [ART.114.505] Error while invoking adapter service com.wm.adapter.wmjdbc.services.Insert. null
com.wm.pkg.art.error.DetailedServiceException: [ART.117.4002] Adapter Runtime (Adapter Service): Unable to invoke adapter service eBankAdapterServices.payroll.insert:insertPayroll.
[ART.114.505] Error while invoking adapter service com.wm.adapter.wmjdbc.services.Insert.
null
at
com.wm.pkg.art.error.DetailedServiceException.create(DetailedServiceException.java:125)
at
com.wm.pkg.art.error.DetailedServiceException.create(DetailedServiceException.java:116)
at
com.wm.pkg.art.error.DetailedServiceException.create(DetailedServiceException.java:103)
at
com.wm.pkg.art.ns.AdapterServiceNode.invokeService(AdapterServiceNode.java:355)
at com.wm.pkg.art.ns.ARTNSService.baseInvoke(ARTNSService.java:54)
at com.wm.app.b2b.server.invoke.InvokeManager.process(InvokeManager.java:612)
at
com.wm.app.b2b.server.invoke.StatisticsProcessor.process(StatisticsProcessor.java:44)
at
com.wm.app.b2b.server.invoke.ServiceCompletionImpl.process(ServiceCompletionImpl.java:226)
at
com.wm.app.b2b.server.invoke.ValidateProcessor.process(ValidateProcessor.java:49)

[ART.114.505] Error while invoking adapter service com.wm.adapter.wmjdbc.services.Insert. null

BasicData:errorResourceBundleName=com.wm.adk.resources.ADKErrorResour
ces,errorMessageArgs=[0]com.wm.adapter.wmjdbc.services.Insert,errorCo
de=114.505,pipeline=com.wm.adk.cci.record.WmRecord@151f7bdc,stack=jav
a.lang.ArrayIndexOutOfBoundsException
at oracle.jdbc.oci8.OCIDBAccess.do_execute(Native Method) at oracle.jdbc.oci8.OCIDBAccess.executeFetch(OCIDBAccess.java:1751)
at oracle.jdbc.oci8.OCIDBAccess.parseExecuteFetch(OCIDBAccess.java:1921)
at
oracle.jdbc.driver.OracleStatement.executeNonQuery(OracleStatement.java:2191)
at
oracle.jdbc.driver.OracleStatement.doExecuteOther(OracleStatement.java:2064)
at
oracle.jdbc.driver.OracleStatement.doExecuteWithTimeout(OracleStatement.java:2989)
at
oracle.jdbc.driver.OraclePreparedStatement.executeUpdate(OraclePreparedStatement.java:658)
at
com.wm.adapter.wmjdbc.services.UpdateOperation.execute(UpdateOperation.java:105)
at com.wm.adk.cci.interaction.WmInteraction.execute(WmInteraction.java:76)
at
com.wm.pkg.art.ns.AdapterServiceNode.invokeService(AdapterServiceNode.java:307)
at com.wm.pkg.art.ns.ARTNSService.baseInvoke(ARTNSService.java:54)

Regards.

We had tried to insert from the same server to a oracle server residing on a windows machine. That too failed with the same error even though the database contained the inserted record :frowning:

We also tried to run the IS server on windows and post it to the Oracle on HP-UX and that went fine without a hitch. I guess that safely rules out any oracle issues.

Any help is highly appreciated

Thanks

:slight_smile:

Thahir

Hi

For the sake of others this is the solution.

Well I was wrong, this was not a webMethods issue but rather a jdbc driver issue.

We downloaded the latest jdbc driver from oracle (for 10g infact) and used it to connect to oracle and things work fine now.

:slight_smile:

Thahir

Thahir,

Thanks for sharing. Which driver name / version had the issue and which one fixes this issue?

Mark