2009-11-04 42 views
1

我在GlassFish上部署了一個j2ee應用程序。 我在GlassFish的lib目錄中有mysql jar。 我想使用JPA,我的持久性文件,是:持久性單元SQLException沒有合適的驅動程序

<persistence-unit name="teamPU" 
    transaction-type="RESOURCE_LOCAL"> 
    <provider> 
     oracle.toplink.essentials.PersistenceProvider 
    </provider> 
    <class>com.team.dao.Roles</class> 
    <properties> 
     <property name="toplink.jdbc.driver" 
      value="com.mysql.jdbc.Driver" /> 
     <property name="toplink.jdbc.url" 
      value="jdbc:mysql://localhost:3306/test" /> 
     <property name="toplink.jdbc.user" value="root" /> 
     <property name="toplink.ddl-generation" 
      value="create-tables" /> 
    </properties> 
</persistence-unit> 

我也有排名靠前的必需品*在LIB罐子。 當我打電話給dao.find *時,它會拋出沒有合適的驅動程序。 難道我沒有所有的罐子應該在哪裏?

+0

你有錯誤的堆棧跟蹤? – 2009-11-04 19:34:03

+0

本地異常堆棧: 異常[TOPLINK-4002](Oracle TopLink Essentials - 2.1(Build b60e-fcs(12/23/2008))):oracle.toplink.essentials.exceptions.DatabaseException 內部異常:java.sql。的SQLException:沒有合適的驅動程序 錯誤代碼:0 \t在oracle.toplink.essentials.exceptions.DatabaseException.sqlException(DatabaseException.java:305) \t在oracle.toplink.essentials.sessions.DefaultConnector.connect(DefaultConnector.java: 102) \t at oracle.toplink.essentials.sessions.DatasourceLogin.connectToDatasource(DatasourceLogin.java:184) \t at oracle.toplink.essen – bmw0128 2009-11-04 19:40:56

+0

您是否正在使用連接池?它連接嗎? – Preston 2009-11-05 15:28:48

回答

0

我在使用JPA/toplink的Java web應用程序(Servlets/JSP)中遇到了這個問題。它在NetBeans部署到Tomcat的開發系統上運行良好。當我將Web應用程序部署到生產服務器上的Tomcat時,我得到「java.sql.SQLException:沒有合適的驅動程序」,並且我看到了調用堆棧中的頂級鏈接包。有趣的是,我還在我的web應用中使用了直接JDBC,並且在生產服務器上運行良好。

修復方法是將相應的jdbc驅動程序.jar複製到jre6 \ lib \ ext文件夾中。

這將是很好知道爲什麼它是不夠的,有JDBC的.jar放到web應用程序中排名靠前的情況下.war文件...

相關問題