OpenJPA
  1. OpenJPA
  2. OPENJPA-1495

org.apache.openjpa.persistence.ArgumentException: A JDBC Driver or DataSource class name must be specified in the ConnectionDriverName property

    Details

    • Type: Bug Bug
    • Status: Closed
    • Priority: Major Major
    • Resolution: Fixed
    • Affects Version/s: None
    • Fix Version/s: None
    • Component/s: jpa
    • Labels:
    • Environment:
      org.apache.openjpa.persistence.ArgumentException: A JDBC Driver or DataSource class name must be specified in the ConnectionDriverName property.

      Description

      I am using openjpa-1.2.2.jar and I am getting following error

      <openjpa-1.1.0-r422266:657916 fatal user error> org.apache.openjpa.persistence.ArgumentException: A JDBC Driver or DataSource class name must be specified in the ConnectionDriverName property.
      at org.apache.openjpa.jdbc.schema.DataSourceFactory.newDataSource(DataSourceFactory.java:72)
      at org.apache.openjpa.jdbc.conf.JDBCConfigurationImpl.createConnectionFactory(JDBCConfigurationImpl.java:776)
      at org.apache.openjpa.jdbc.conf.JDBCConfigurationImpl.getDBDictionaryInstance(JDBCConfigurationImpl.java:553)
      at org.apache.openjpa.jdbc.meta.MappingRepository.endConfiguration(MappingRepository.java:1250)
      at org.apache.openjpa.lib.conf.Configurations.configureInstance(Configurations.java:505)
      at org.apache.openjpa.lib.conf.Configurations.configureInstance(Configurations.java:430)
      at org.apache.openjpa.lib.conf.PluginValue.instantiate(PluginValue.java:103)
      at org.apache.openjpa.conf.MetaDataRepositoryValue.instantiate(MetaDataRepositoryValue.java:68)
      at org.apache.openjpa.lib.conf.ObjectValue.instantiate(ObjectValue.java:83)
      at org.apache.openjpa.conf.OpenJPAConfigurationImpl.newMetaDataRepositoryInstance(OpenJPAConfigurationImpl.java:843)
      at org.apache.openjpa.conf.OpenJPAConfigurationImpl.getMetaDataRepositoryInstance(OpenJPAConfigurationImpl.java:834)
      at org.apache.openjpa.kernel.AbstractBrokerFactory.makeReadOnly(AbstractBrokerFactory.java:638)
      at org.apache.openjpa.kernel.AbstractBrokerFactory.newBroker(AbstractBrokerFactory.java:183)
      at org.apache.openjpa.kernel.DelegatingBrokerFactory.newBroker(DelegatingBrokerFactory.java:142)
      at org.apache.openjpa.persistence.EntityManagerFactoryImpl.createEntityManager(EntityManagerFactoryImpl.java:192)
      at org.apache.openjpa.persistence.EntityManagerFactoryImpl.createEntityManager(EntityManagerFactoryImpl.java:145)
      at org.apache.openjpa.persistence.EntityManagerFactoryImpl.createEntityManager(EntityManagerFactoryImpl.java:56)
      at org.wadsworth.bean.CheckMe.getData(CheckMe.java:22)
      at org.wadsworth.eclep.servlet.FrontContoller.doGet(FrontContoller.java:32)
      at javax.servlet.http.HttpServlet.service(HttpServlet.java:707)
      at javax.servlet.http.HttpServlet.service(HttpServlet.java:820)
      at weblogic.servlet.internal.StubSecurityHelper$ServletServiceAction.run(StubSecurityHelper.java:227)
      at weblogic.servlet.internal.StubSecurityHelper.invokeServlet(StubSecurityHelper.java:125)
      at weblogic.servlet.internal.ServletStubImpl.execute(ServletStubImpl.java:292)
      at weblogic.servlet.internal.ServletStubImpl.execute(ServletStubImpl.java:175)
      at weblogic.servlet.internal.WebAppServletContext$ServletInvocationAction.run(WebAppServletContext.java:3498)
      at weblogic.security.acl.internal.AuthenticatedSubject.doAs(AuthenticatedSubject.java:321)
      at weblogic.security.service.SecurityManager.runAs(Unknown Source)
      at weblogic.servlet.internal.WebAppServletContext.securedExecute(WebAppServletContext.java:2180)
      at weblogic.servlet.internal.WebAppServletContext.execute(WebAppServletContext.java:2086)
      at weblogic.servlet.internal.ServletRequestImpl.run(ServletRequestImpl.java:1406)
      at weblogic.work.ExecuteThread.execute(ExecuteThread.java:201)
      at weblogic.work.ExecuteThread.run(ExecuteThread.java:173)

      *******************persistence.xml contents below******************
      <?xml version="1.0" encoding="UTF-8"?>
      <persistence xmlns="http://java.sun.com/xml/ns/persistence"
      xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
      version="1.0">
      <persistence-unit name="hellojpa" transaction-type="RESOURCE_LOCAL">
      <provider>org.apache.openjpa.persistence.PersistenceProviderImpl</provider>
      <class>org.wadsworth.bean.CheckFac</class>
      <properties>
      <property name="openjpa.ConnectionURL" value="jdbc:oracle:thin:@lyra:1521:wcdev01"/>
      <property name="openjpa.ConnectionDriverName" value="oracle.jdbc.OracleDriver"/>
      <property name="openjpa.ConnectionUserName" value="clep"/>
      <property name="openjpa.ConnectionPassword" value="clep"/>
      <property name="openjpa.jdbc.Schema" value="CLEP"/>
      </properties>
      </persistence-unit>
      </persistence>
      ***********************
      Please suggest what to do.

        Activity

        Hide
        Jeremy Bauer added a comment -

        Rajeev,

        It looks like you've specified the incorrect driver package in your persistence.xml. Try: oracle.jdbc.driver.OracleDriver

        -Jeremy

        Show
        Jeremy Bauer added a comment - Rajeev, It looks like you've specified the incorrect driver package in your persistence.xml. Try: oracle.jdbc.driver.OracleDriver -Jeremy
        Hide
        Rajeev Chaudhary added a comment - - edited

        Hi Jeremy,
        Thanks for the Immediate reply. I made the change and still getting the same error. One quick update,
        1. I get this issue when I run the application from eclipse.
        2. If I export a war file and deploy is on the server, things work successfully.
        Regards
        Rajeev

        Show
        Rajeev Chaudhary added a comment - - edited Hi Jeremy, Thanks for the Immediate reply. I made the change and still getting the same error. One quick update, 1. I get this issue when I run the application from eclipse. 2. If I export a war file and deploy is on the server, things work successfully. Regards Rajeev
        Hide
        Jeremy Bauer added a comment -

        Hate to ask, but are you sure the Oracle JDBC driver jar is in your build and/or runtime classpath? I've seen that exception/msg if a driver class cannot be loaded. Also you may get a more helpful exception if you enable OpenJPA trace.

        <property name="openjpa.Log" value="DefaultLevel=TRACE"/>

        -Jeremy

        Show
        Jeremy Bauer added a comment - Hate to ask, but are you sure the Oracle JDBC driver jar is in your build and/or runtime classpath? I've seen that exception/msg if a driver class cannot be loaded. Also you may get a more helpful exception if you enable OpenJPA trace. <property name="openjpa.Log" value="DefaultLevel=TRACE"/> -Jeremy

          People

          • Assignee:
            Unassigned
            Reporter:
            Rajeev Chaudhary
          • Votes:
            0 Vote for this issue
            Watchers:
            0 Start watching this issue

            Dates

            • Created:
              Updated:
              Resolved:

              Time Tracking

              Estimated:
              Original Estimate - 96h
              96h
              Remaining:
              Remaining Estimate - 96h
              96h
              Logged:
              Time Spent - Not Specified
              Not Specified

                Development