3 Replies Latest reply on Feb 4, 2016 4:30 PM by Steven Hawkins

    Statement.RETURN_GENERATED_KEYS in Teiid jdbc client 8.12.4

    kk ma Newbie

      Hi,

       

      I am getting the following error when I use Statement.RETURN_GENERATED_KEYS in PreparedStatement and calling

      ResultSet rs = ps.getGeneratedKeys();

       

      WARNING [org.teiid.client.sockets] (http-localhost/127.0.0.1:8070-1) Unable to read: unexpected exception: java.lang.ClassNotFoundException: oracle.sql.ROWID from [Module "deployment.teiid-8.12.4-jdbc.jar:main" from Service Module Loader]
        at org.jboss.modules.ModuleClassLoader.findClass(ModuleClassLoader.java:213) [jboss-modules.jar:1.3.6.Final-redhat-1]
        at org.jboss.modules.ConcurrentClassLoader.performLoadClassUnchecked(ConcurrentClassLoader.java:459) [jboss-modules.jar:1.3.6.Final-redhat-1]
        at org.jboss.modules.ConcurrentClassLoader.performLoadClassChecked(ConcurrentClassLoader.java:408) [jboss-modules.jar:1.3.6.Final-redhat-1]
        at org.jboss.modules.ConcurrentClassLoader.performLoadClass(ConcurrentClassLoader.java:389) [jboss-modules.jar:1.3.6.Final-redhat-1]
        at org.jboss.modules.ConcurrentClassLoader.loadClass(ConcurrentClassLoader.java:134) [jboss-modules.jar:1.3.6.Final-redhat-1]
        at java.lang.Class.forName0(Native Method) [rt.jar:1.8.0_45]
        at java.lang.Class.forName(Class.java:348) [rt.jar:1.8.0_45]
        at java.io.ObjectInputStream.resolveClass(ObjectInputStream.java:626) [rt.jar:1.8.0_45]
        at org.teiid.netty.handler.codec.serialization.CompactObjectInputStream.resolveClass(CompactObjectInputStream.java:112)
        at java.io.ObjectInputStream.readNonProxyDesc(ObjectInputStream.java:1613) [rt.jar:1.8.0_45]
        at java.io.ObjectInputStream.readClassDesc(ObjectInputStream.java:1518) [rt.jar:1.8.0_45]
        at java.io.ObjectInputStream.readOrdinaryObject(ObjectInputStream.java:1774) [rt.jar:1.8.0_45]
        at java.io.ObjectInputStream.readObject0(ObjectInputStream.java:1351) [rt.jar:1.8.0_45]
        at java.io.ObjectInputStream.readObject(ObjectInputStream.java:371) [rt.jar:1.8.0_45]
        at org.teiid.client.BatchSerializer$ColumnSerializer.readObject(BatchSerializer.java:552)
        at org.teiid.client.BatchSerializer$ObjectColumnSerializer.readObject(BatchSerializer.java:283)
        at org.teiid.client.BatchSerializer$ObjectColumnSerializer.readObject(BatchSerializer.java:268)
        at org.teiid.client.BatchSerializer$ColumnSerializer.readColumn(BatchSerializer.java:543)
        at org.teiid.client.BatchSerializer$ObjectColumnSerializer.readColumn(BatchSerializer.java:228)
        at org.teiid.client.BatchSerializer.readBatch(BatchSerializer.java:924)
        at org.teiid.client.ResultsMessage.readExternal(ResultsMessage.java:269)
        at java.io.ObjectInputStream.readExternalData(ObjectInputStream.java:1840) [rt.jar:1.8.0_45]
        at java.io.ObjectInputStream.readOrdinaryObject(ObjectInputStream.java:1799) [rt.jar:1.8.0_45]
        at java.io.ObjectInputStream.readObject0(ObjectInputStream.java:1351) [rt.jar:1.8.0_45]
        at java.io.ObjectInputStream.readObject(ObjectInputStream.java:371) [rt.jar:1.8.0_45]
        at org.teiid.net.socket.Message.readExternal(Message.java:56)
        at java.io.ObjectInputStream.readExternalData(ObjectInputStream.java:1840) [rt.jar:1.8.0_45]
        at java.io.ObjectInputStream.readOrdinaryObject(ObjectInputStream.java:1799) [rt.jar:1.8.0_45]
        at java.io.ObjectInputStream.readObject0(ObjectInputStream.java:1351) [rt.jar:1.8.0_45]
        at java.io.ObjectInputStream.readObject(ObjectInputStream.java:371) [rt.jar:1.8.0_45]
        at org.teiid.netty.handler.codec.serialization.ObjectDecoderInputStream.readObjectOverride(ObjectDecoderInputStream.java:108)
        at java.io.ObjectInputStream.readObject(ObjectInputStream.java:365) [rt.jar:1.8.0_45]
        at org.teiid.net.socket.OioOjbectChannelFactory$OioObjectChannel.read(OioOjbectChannelFactory.java:117)
        at org.teiid.net.socket.SocketServerInstanceImpl.read(SocketServerInstanceImpl.java:306)
        at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) [rt.jar:1.8.0_45]
        at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) [rt.jar:1.8.0_45]
        at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) [rt.jar:1.8.0_45]
        at java.lang.reflect.Method.invoke(Method.java:497) [rt.jar:1.8.0_45]
        at org.teiid.net.socket.SocketServerConnectionFactory$ShutdownHandler.invoke(SocketServerConnectionFactory.java:98)
        at com.sun.proxy.$Proxy74.read(Unknown Source)
        at org.teiid.net.socket.SocketServerInstanceImpl$RemoteInvocationHandler$1.get(SocketServerInstanceImpl.java:405)
        at org.teiid.jdbc.StatementImpl.executeSql(StatementImpl.java:551)
        at org.teiid.jdbc.PreparedStatementImpl.executeUpdate(PreparedStatementImpl.java:266)
        at org.jboss.jca.adapters.jdbc.WrappedPreparedStatement.executeUpdate(WrappedPreparedStatement.java:493)
      .......................
      
      
      
      


      I am using JBoss EAP 6.4. I have deployed and enabled teiid-8.12.4-jdbc.jar and ojdbc6.jar files in JBoss.

       

      It seems Teiid is not finding the class RowID present in ojdbc6.jar. Is there a different way these jars should be deployed.


      Thanks.