2009-11-04 3 views
1

J'ai une application j2ee déployée sur GlassFish. J'ai des fichiers mysql dans le répertoire lib de GlassFish. Je suis en train d'utiliser JPA, et mon dossier de persistance est:Unité de persistance SQLException Aucun pilote approprié

<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> 

j'ai aussi toplink-essentials * pots dans lib. Quand j'appelle dao.find *, il lance le pilote Non approprié. N'ai-je pas tous les pots où ils devraient être?

+0

avez-vous un stacktrace de l'erreur? –

+0

Pile d'exception locale: Exception [TOPLINK-4002] (Oracle TopLink Essentials - 2.1 (Édition b60e-fcs (12/23/2008))): oracle.toplink.essentials.exceptions.DatabaseException Exception interne: java.sql. SQLException: Aucun pilote approprié code d'erreur: 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

+0

Utilisez-vous un pool de connexions? Est-ce qu'il se connecte? – Preston

Répondre

0

J'ai eu ce problème avec une application Web Java (Servlets/JSP) en utilisant JPA/toplink. Cela a fonctionné correctement sur mon système de développement avec le déploiement de NetBeans sur Tomcat. Lorsque j'ai déployé l'application Web sur Tomcat sur le serveur de production, j'obtenais "java.sql.SQLException: aucun pilote approprié" et j'ai vu des paquets toplink dans la pile d'appels. Ce qui est intéressant, c'est que j'utilise aussi JDBC direct dans mon application web et que ça fonctionne bien sur le serveur de production. Le correctif consistait à copier le fichier .jar jdbc approprié dans le dossier jre6 \ lib \ ext.

Il serait bon de savoir pourquoi il ne suffit pas d'avoir le jdbc .jar mis dans l'application Web .war dans le cas de TopLink ...

Questions connexes