On 14/06/2023 00:20, Ying Jin wrote:
Mark,

Thanks for the tip. I've resolved this error by using the way you suggested along with the newer version of jdbc driver ojdbc8.jar and modified the connection url in the right format.

However, I encountered another problem trying to run the application in Eclipse with JDK 11. Please see below for the error message. I didn't have any problem running the application with JDK 8. Any suggestions?

None, since we can't see the error message.

Embedded images don't work. Please paste the full stack trace and/or post it online somewhere we can read it.

Mark


image.png

Many thanks!
Jenny


On Mon, Jun 12, 2023 at 11:21 AM Mark Thomas <ma...@apache.org <mailto:ma...@apache.org>> wrote:

    On 12/06/2023 16:52, Ying Jin wrote:
     > BTW, the ojdbc6_g.jar has been put in the Tomcat9.0.75/lib folder as
     > well as in the project's WEB-INF/lib folder.

    Don't do that. Put it *only* in $CATALINA_BASE/lib


     > On Mon, Jun 12, 2023 at 10:41 AM Ying Jin <jiny4...@gmail.com
    <mailto:jiny4...@gmail.com>
     > <mailto:jiny4...@gmail.com <mailto:jiny4...@gmail.com>>> wrote:
     >
     >     Mark,
     >
     >     Thanks for your reply! Please see below for the details. BTW, I
     >     removed the database connection info. for security reasons.
    The same
     >     data source configuration and jdbc driver "ojdbc6_g" works in the
     >     Weblogic 14 server.
     >
     >     web.xml:
     >        <resource-ref>
     >       <description>project datasource</description>
     >       <res-ref-name>jdbc/ariesDS</res-ref-name>
     >       <res-type>javax.sql.DataSource</res-type>
     >       <res-auth>Container</res-auth>
     >
     >     Tomcat 9.0.75 conf/context.xml:

    Putting it there means you have created one instance of the resource
    for
    each deployed web application. You probably want to put it in:

    $CATALINA_BASE/conf/<engine-name>/<host-name>/<context-name>.xml

    But maybe wait until you have it working before fixing that.

     >       <Resource auth="Container"
     >     driverClassName="oracle.jdbc.OracleDriver" maxIdle="10"
     >     maxTotal="20" maxWaitMillis="-1" name="jdbc/ariesDS"
    password="PW"
     >     type="javax.sql.DataSource"
     >     url="jdbc:oracle:thin@hostname:portNumber/servic name"
     >     username="userName"/>
     >
     >     Datasource lookup code:
     >
     >         Context initContext = new InitialContext();
     >          Context envContext  =
     >     (Context)initContext.lookup("java:/comp/env");
     >          DataSource ods =
    (DataSource)envContext.lookup("jdbc/ariesDS");
     >         if (ods==null)
     >          {
     >             System.out.println("ods = (OracleDataSource)
     >     envCtx.lookup('jdbc/ariesDS') is null");
     >             throw new Exception ("the data souce is null, error
    throwed.");
     >          }else{
     >             conn = ods.getConnection();
     >          }
     >
     >     The database version is Oracle 19C and I found out the Oracle
    jdbc
     >     driver should be ojdbc8.jar. If using this version of jar
    file, any
     >     code changes need to be done for the data source lookup code?

    No. The lookup code should be fine.

     >     The complete stacktrace:
     >     image.png

    Embedded images don't work. Please paste the full stack trace and/or
    post it online somewhere we can read it.

    Mark


     >
     >     Your help is greatly appreciated!
     >
     >     Thanks,
     >     Jenny
     >
     >     On Mon, Jun 12, 2023 at 3:26 AM Mark Thomas <ma...@apache.org
    <mailto:ma...@apache.org>
     >     <mailto:ma...@apache.org <mailto:ma...@apache.org>>> wrote:
     >
     >         On 11/06/2023 19:33, Ying Jin wrote:
     >          > Hello,
     >          >
     >          > We have an old java servlet web application which uses the
     >         "ojdbc6_g" jar
     >          > as Oracle jdbc driver and it works in Weblogic 14 server.
     >         Recently, we need
     >          > to try to see if this application can be deployed to
    Tomcat
     >         or not.
     >          >
     >          > The JDBC data source has been configured in Tomcat 9.0.75
     >         server according
     >          > to instructions below,
     >          >
     >          >
     >
    https://tomcat.apache.org/tomcat-9.0-doc/jndi-resources-howto.html
    <https://tomcat.apache.org/tomcat-9.0-doc/jndi-resources-howto.html>
    <https://tomcat.apache.org/tomcat-9.0-doc/jndi-resources-howto.html
    <https://tomcat.apache.org/tomcat-9.0-doc/jndi-resources-howto.html>>
     >          >
     >          > Please see below for the error we encountered in the
    Tomcat 9
     >         deployment
     >          > and help shed some light on this problem. The Oracle
    database
     >         version is
     >          > 19c.
     >          >
     >          > Error: Cannot create JDBC driver of class
     >         'oracle.jdbc.OracleDriver' for
     >          > connect URL 'jdbc:oracle:thin@xxx
     >          >
     >          > java.sql.SQLException: Cannot create JDBC driver of class
     >          > 'oracle.jdbc.OracleDriver' for connect URL
    'jdbc:oracle:thin@
     >          >
>  <http://jdbc:oracle%3at...@vdb04ld.hs.it.vumc.io:10920/ARDEV.vumc.vanderbilt <http://jdbc:oracle%3at...@vdb04ld.hs.it.vumc.io:10920/ARDEV.vumc.vanderbilt> <http://jdbc:oracle%3at...@vdb04ld.hs.it.vumc.io:10920/ARDEV.vumc.vanderbilt <http://jdbc:oracle%3at...@vdb04ld.hs.it.vumc.io:10920/ARDEV.vumc.vanderbilt>>>
     >          > xxxx'
     >          > at
     >          >
>  org.apache.tomcat.dbcp.dbcp2.DriverFactory.createDriver(DriverFactory.java:74)
     >          > at
     >          >
>  org.apache.tomcat.dbcp.dbcp2.BasicDataSource.createConnectionFactory(BasicDataSource.java:465)
     >          > at
     >          >
>  org.apache.tomcat.dbcp.dbcp2.BasicDataSource.createDataSource(BasicDataSource.java:529)
     >          > at
     >          >
>  org.apache.tomcat.dbcp.dbcp2.BasicDataSource.getConnection(BasicDataSource.java:710)
     >
     >         And the rest of the stack trace is?
     >
     >         ojdbc6_g.jar has been placed where in the file system?
     >
     >         That is a *very* old Oracle JDBC driver. It is also the debug
     >         version of
     >         the JAR. You might want to think about using the latest
    one for
     >         Oracle 19c.
     >
     >         The changes to the configuration are? (Yes, I know you
    said you
     >         followed
     >         the docs but we still need to know what you actually
    changed. Not
     >         everyone follows the docs correctly.)
     >
     >         Mark
     >
>  ---------------------------------------------------------------------
     >         To unsubscribe, e-mail:
    users-unsubscr...@tomcat.apache.org
    <mailto:users-unsubscr...@tomcat.apache.org>
     >         <mailto:users-unsubscr...@tomcat.apache.org
    <mailto:users-unsubscr...@tomcat.apache.org>>
     >         For additional commands, e-mail:
    users-h...@tomcat.apache.org <mailto:users-h...@tomcat.apache.org>
     >         <mailto:users-h...@tomcat.apache.org
    <mailto:users-h...@tomcat.apache.org>>
     >

    ---------------------------------------------------------------------
    To unsubscribe, e-mail: users-unsubscr...@tomcat.apache.org
    <mailto:users-unsubscr...@tomcat.apache.org>
    For additional commands, e-mail: users-h...@tomcat.apache.org
    <mailto:users-h...@tomcat.apache.org>


---------------------------------------------------------------------
To unsubscribe, e-mail: users-unsubscr...@tomcat.apache.org
For additional commands, e-mail: users-h...@tomcat.apache.org

Reply via email to