Skip to Main Content

Java Database Connectivity (JDBC)

Announcement

For appeals, questions and feedback about Oracle Forums, please email oracle-forums-moderators_us@oracle.com. Technical questions should be asked in the appropriate category. Thank you!

Interested in getting your voice heard by members of the Developer Marketing team at Oracle? Check out this post for AppDev or this post for AI focus group information.

Cannot cast from ConnectionWrapper to oracle.jdbc.OracleConnection

2994778Jul 20 2015 — edited Jul 21 2015

Hello Community,

I have an problem to get an Custom object from my Database.

Exception:

Java.lang.ClassCastException

org.apache.tomcat.dbcp.dbcp2.PoolingDataSource$PoolGuardConnectionWrapper

cannot be cast to oracle.jdbc.OracleConnection at

oracle.sql.scruptdescriptor.createDescriptor()

My Code:

Class.forName("oracle.jdbc.OracleDriver");

        Context contextEnv = (Context) new InitialContext().lookup("java:/comp/env");

        DataSource dataSource = (DataSource) contextEnv.lookup("xxxx/xxx/xxxx_xxx");

    

        Connection connectionDB = dataSource.getConnection();

 

      

        System.out.println("-- 1 --");

        System.out.println("Type: " + connectionDB.unwrap(oracle.jdbc.OracleConnection.class));

    

      

        final StructDescriptor structDescriptor_Mitglied = StructDescriptor.createDescriptor("KPZ.RECTYPE_MITGLIED", connectionDB);  

        final ResultSetMetaData metaData_Mitglieder = structDescriptor_Mitglied.getMetaData();

        System.out.println("-- 2 --");

     

         Struct recMitglied = connectionDB.createStruct("KPZ.RECTYPE_MITGLIED",new Object[]

                                             {

                                                 itemMitglied.getItemProperty("bname_id").getValue()

                                                ,itemMitglied.getItemProperty("bvorgang_id").getValue()

                                                ,itemMitglied.getItemProperty("mnr").getValue()

                                                ,itemMitglied.getItemProperty("bnr").getValue()             

                                                ,itemMitglied.getItemProperty("anrede").getValue()

                                                ,itemMitglied.getItemProperty("titel").getValue()

                                                ,itemMitglied.getItemProperty("vorname").getValue()

                                                ,itemMitglied.getItemProperty("nachname").getValue()

                                                ,itemMitglied.getItemProperty("name1").getValue()

                                                ,itemMitglied.getItemProperty("name2").getValue()

                                                ,itemMitglied.getItemProperty("name3").getValue()

                                                ,itemMitglied.getItemProperty("strasse").getValue()

                                                ,itemMitglied.getItemProperty("haus_nr").getValue()

                                                ,itemMitglied.getItemProperty("plz").getValue()

                                                ,itemMitglied.getItemProperty("ort").getValue()

                                                ,itemMitglied.getItemProperty("telefon").getValue()

                                                ,itemMitglied.getItemProperty("email").getValue()

                                                ,itemMitglied.getItemProperty("status_kurz").getValue()

                                             });

                 System.out.println("-- 3 --");

                                          

      

         CallableStatement cs;  

         cs = connectionDB.prepareCall("BEGIN KPZ.PCK_MITGLIED.PRC_LESE_MITGL_ADRESSE(?,?,?); END;");

       

      

        cs.setObject(1, recMitglied);      

        cs.registerOutParameter(2, Types.STRUCT,"KPZ.RECTYPE_TECHINFOS");   

        cs.registerOutParameter(3, Types.ARRAY,"KPZ.TABTYPE_MITGLIED");

       

        cs.execute();

Context.xml

  <Resource name="xxxx/xxx/xxxxx" auth="Container"

              type="oracle.jdbc.pool.OracleDataSource"

              driverClassName="oracle.jdbc.OracleDriver"

              factory="oracle.jdbc.pool.OracleDataSourceFactory"

              url="jdbc:oracle:thin:@xx.xx.xxx.xxxx:xxxx:AAAAAA"

              user="xxxxx" password="xxxx" maxTotal="20" maxIdle="10"

              maxWaitMillis="-1"/>  

If anyone has an Idea, id would be great.

Thx

This post has been answered by Joe Weinstein-Oracle on Jul 20 2015
Jump to Answer

Comments

Locked Post
New comments cannot be posted to this locked post.

Post Details

Locked on Aug 18 2015
Added on Jul 20 2015
3 comments
12,981 views