不支持的方法:Statement.setCursorName,WAS 8.5.0,AIX,Oracle 11

时间:2015-10-06 11:04:54

标签: java jdbc oracle11g aix websphere-8

我在获取应用程序数据时遇到错误。

SingleCollect E   java.sql.SQLFeatureNotSupportedException: [MyCompany][Oracle JDBC Driver]Unsupported method: Statement.setCursorName

SoapServicesIm E   Unable to perform operation on method 'getTemplate' of webservice 'AppServices' due to the following reason: A database error has occured[00010040013] Details: java.sql.SQLFeatureNotSupportedException: [MyCompany][Oracle JDBC Driver]Unsupported method: Statement.setCursorName.

环境:

AIX 7,datadirect.jar,Oracle11,WAS 8.5.0

与oracle数据库相同的datadirect.jar在Windows Server 2008 + WAS 8.5.5.2上运行良好。

我真的不知道我错过了什么。我在两种情况下都做了相同的配置。

我收到错误的源代码:(错误区域 - prepStatement.close())

finally{
    try
    {
       if (results != null){
                results.close();
       } 
       if (prepStatement != null){
                prepStatement.close();
       }
       if (connect != null){
                connect.close();
    }
        }

任何建议对我都有帮助。

更新:

StackTrace:

FFDC Exception:java.sql.SQLFeatureNotSupportedException SourceId:com.ibm.ws.rsadapter.jdbc.WSJdbcPreparedStatement.closeWrapper ProbeId:310 Reporter:com.ibm.ws.rsadapter.jdbc.WSJdbcPreparedStatement@ac8a02e8
java.sql.SQLFeatureNotSupportedException: [MyCompany][Oracle JDBC Driver]Unsupported method: Statement.setCursorName
   at com.myproduct.jdbc.oraclebase.ddcr.b(Unknown Source)
   at com.myproduct.jdbc.oraclebase.ddcr.a(Unknown Source)
   at com.myproduct.jdbc.oraclebase.ddcq.b(Unknown Source)
   at com.myproduct.jdbc.oraclebase.ddcq.a(Unknown Source)
   at com.myproduct.jdbc.oraclebase.dddj.a(Unknown Source)
   at com.myproduct.jdbc.oraclebase.dde3.setCursorName(Unknown Source)
   at com.myproduct.jdbcx.oraclebase.dds.setCursorName(Unknown Source)
   at com.ibm.websphere.rsadapter.GenericDataStoreHelper.doStatementCleanup(GenericDataStoreHelper.java:774)
   at com.ibm.ws.rsadapter.jdbc.WSJdbcPreparedStatement.closeWrapper(WSJdbcPreparedStatement.java:490)
   at com.ibm.ws.rsadapter.jdbc.WSJdbcObject.close(WSJdbcObject.java:241)
   at com.ibm.ws.rsadapter.jdbc.WSJdbcObject.close(WSJdbcObject.java:194)
   at com.myproduct.mdi.services.RecordCollection.executeQuery(RecordCollection.java:432)
   at com.myproduct.mdi.server.impl.AppServicesImpl.getTemplate(AppServicesImpl.java:792)
   at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
   at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:60)
   at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:37)
   at java.lang.reflect.Method.invoke(Method.java:611)
   at org.apache.axis2.jaxws.server.dispatcher.JavaDispatcher.invokeTargetOperation(JavaDispatcher.java:101)
   at org.apache.axis2.jaxws.server.dispatcher.JavaBeanDispatcher.invoke(JavaBeanDispatcher.java:118)
   at org.apache.axis2.jaxws.server.EndpointController.invoke(EndpointController.java:111)
   at org.apache.axis2.jaxws.server.JAXWSMessageReceiver.receive(JAXWSMessageReceiver.java:161)
   at org.apache.axis2.engine.AxisEngine.receive(AxisEngine.java:198)
   at org.apache.axis2.transport.http.HTTPTransportUtils.processHTTPPostRequest(HTTPTransportUtils.java:172)
   at com.ibm.ws.websvcs.transport.http.WASAxis2Servlet.doPost(WASAxis2Servlet.java:1544)
   at javax.servlet.http.HttpServlet.service(HttpServlet.java:754)
   at javax.servlet.http.HttpServlet.service(HttpServlet.java:847)
   at com.ibm.ws.webcontainer.servlet.ServletWrapper.service(ServletWrapper.java:1214)
   at com.ibm.ws.webcontainer.servlet.ServletWrapper.handleRequest(ServletWrapper.java:774)
   at com.ibm.ws.webcontainer.servlet.ServletWrapper.handleRequest(ServletWrapper.java:456)
   at com.ibm.ws.webcontainer.servlet.ServletWrapperImpl.handleRequest(ServletWrapperImpl.java:178)
   at com.ibm.ws.webcontainer.filter.WebAppFilterManager.invokeFilters(WebAppFilterManager.java:1027)
   at com.ibm.ws.webcontainer.servlet.CacheServletWrapper.handleRequest(CacheServletWrapper.java:87)
   at com.ibm.ws.webcontainer.WebContainer.handleRequest(WebContainer.java:895)
   at com.ibm.ws.webcontainer.WSWebContainer.handleRequest(WSWebContainer.java:1662)
   at com.ibm.ws.webcontainer.channel.WCChannelLink.ready(WCChannelLink.java:195)
   at com.ibm.ws.http.channel.inbound.impl.HttpInboundLink.handleDiscrimination(HttpInboundLink.java:458)
   at com.ibm.ws.http.channel.inbound.impl.HttpInboundLink.handleNewRequest(HttpInboundLink.java:522)
   at com.ibm.ws.http.channel.inbound.impl.HttpInboundLink.processRequest(HttpInboundLink.java:311)
   at com.ibm.ws.http.channel.inbound.impl.HttpICLReadCallback.complete(HttpICLReadCallback.java:87)
   at com.ibm.ws.tcp.channel.impl.AioReadCompletionListener.futureCompleted(AioReadCompletionListener.java:165)
   at com.ibm.io.async.AbstractAsyncFuture.invokeCallback(AbstractAsyncFuture.java:217)
   at com.ibm.io.async.AsyncChannelFuture.fireCompletionActions(AsyncChannelFuture.java:161)
   at com.ibm.io.async.AsyncFuture.completed(AsyncFuture.java:138)
   at com.ibm.io.async.ResultHandler.complete(ResultHandler.java:204)
   at com.ibm.io.async.ResultHandler.runEventProcessingLoop(ResultHandler.java:775)
   at com.ibm.io.async.ResultHandler$2.run(ResultHandler.java:905)
   at com.ibm.ws.util.ThreadPool$Worker.run(ThreadPool.java:1783)

 ==> Performing default dump from     com.ibm.ws.rsadapter.DiagnosticModuleForAdapter :Tue Oct 06 12:21:27 IST 2015
 This is a FFDC log generated for the Default Resource Adapter from source:com.ibm.ws.rsadapter.jdbc.WSJdbcPreparedStatement.closeWrapper
 The exception caught:java.sql.SQLFeatureNotSupportedException: [MyCompany][Oracle JDBC Driver]Unsupported method: Statement.setCursorName
SQL Error Code is 0 SQL State is :HY000
Operating System:AIX 7.1 ppc64

1 个答案:

答案 0 :(得分:1)

最初感谢您的支持和时间。

通过将WAS升级到8.5.5.2解决了此问题。现在,我没有得到任何错误。能够登录并完成所有操作。

如果您不想升级WAS,其他解决方案是,在应用程序数据源的自定义属性下将builtin属性“extendedOptions”设置为值“throwExceptionForUnsupportedMethods = false”。希望如果有人遇到类似的问题,这会有所帮助。