IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Tomcat et TomEE Java Discussion :

Cannot create JDBC driver of class '' for connect URL 'null'


Sujet :

Tomcat et TomEE Java

  1. #1
    Membre du Club
    Profil pro
    Inscrit en
    Mars 2006
    Messages
    83
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2006
    Messages : 83
    Points : 52
    Points
    52
    Par défaut Cannot create JDBC driver of class '' for connect URL 'null'
    Bonjour,

    Je suis en train de developper une application java J2EE sous tomcat et j'ai une erreur concernant le driver postgres :

    Exception sur l'accès à la BDD org.apache.tomcat.dbcp.dbcp.SQLNestedException: Cannot create JDBC driver of class '' for connect URL 'null'

    En cherchant sur le net et sur le forum, j'ai vu beaucoup de post a ce sujet mais etant novice dans le J2EE, j'ai du mal a bien saisir les differentes reponses et solutions.

    C'est pourquoi je me permet de poster mes differents fichiers dans l'espoir que quelqu'un puisse y repondre.

    voici mon server.xml (tomcat/conf)

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    <?xml version="1.0" encoding="UTF-8" ?> 
    - <Server>
      <Listener className="org.apache.catalina.core.AprLifecycleListener" /> 
      <Listener className="org.apache.catalina.mbeans.GlobalResourcesLifecycleListener" /> 
      <Listener className="org.apache.catalina.storeconfig.StoreConfigLifecycleListener" /> 
      <Listener className="org.apache.catalina.mbeans.ServerLifecycleListener" /> 
    - <GlobalNamingResources>
      <Environment name="simpleValue" type="java.lang.Integer" value="30" /> 
      <Resource name="jdbc/postgres" type="javax.sql.DataSource" maxActive="4" maxIdle="2" username="name" maxWait="5000" driverClassName="postgresql-8.3dev-600.jdbc3" password="pass" url="jdbc:postgresql://194.254.140.222:5432/mabase" /> 
      <Resource auth="Container" description="User database that can be updated and saved" name="UserDatabase" type="org.apache.catalina.UserDatabase" factory="org.apache.catalina.users.MemoryUserDatabaseFactory" pathname="conf/tomcat-users.xml" /> 
      </GlobalNamingResources>
    - <Service name="Catalina">
      <Connector port="8080" redirectPort="8443" minSpareThreads="25" connectionTimeout="20000" maxThreads="150" maxSpareThreads="75" /> 
      <Connector port="8009" redirectPort="8443" protocol="AJP/1.3" /> 
    - <Engine defaultHost="localhost" name="Catalina">
      <Realm className="org.apache.catalina.realm.UserDatabaseRealm" /> 
      <Host appBase="webapps" name="localhost" /> 
      </Engine>
      </Service>
      </Server>
    web.xml (WEB-INF)
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
     
    <?xml version="1.0" encoding="UTF-8" ?> 
      <!DOCTYPE web-app (View Source for full doctype...)> 
    - <web-app>
      <display-name>essaibase</display-name> 
    - <servlet>
      <servlet-name>base</servlet-name> 
      <servlet-class>db.Connectiondb</servlet-class> 
      </servlet>
    - <servlet-mapping>
      <servlet-name>base</servlet-name> 
      <url-pattern>/connection</url-pattern> 
      </servlet-mapping>
    - <resource-ref>
      <description>reference a la ressource BDD pour le pool</description> 
      <res-ref-name>jdbc/postgres</res-ref-name> 
      <res-type>javax.sql.DataSource</res-type> 
      <res-auth>Container</res-auth> 
      </resource-ref>
      </web-app>
    monappli.xml (tomcat\conf\Catalina\localhost)
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    <?xml version="1.0" encoding="UTF-8" ?> 
    - <Context docBase="c:\monapply" reloadable="true" workDir="c:\monapply\work">
      <Resource auth="Container" description="reference a la ressource BDD pour le pool" name="jdbc/postgres" type="javax.sql.DataSource" /> 
      <Resource auth="Container" description="reference a la ressource BDD pour le pool" name="jdbc/postgres" type="javax.sql.DataSource" /> 
      </Context>
    et ma servlet (monapply/WEB-INF/classes/db/Connectiondb.java)

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    65
    66
    67
    68
    package db;
    import java.io.*;
    import java.sql.*;
    import javax.naming.*;
    import javax.servlet.*;
    import javax.servlet.http.*;
    import javax.sql.*;
    public class Connectiondb extends HttpServlet {
    	private DataSource ds; //la source de données
    	protected void doGet(
    		HttpServletRequest request,
    		HttpServletResponse response)
    		throws ServletException, IOException {
    		response.setContentType("text/html");
    		PrintWriter out = response.getWriter();
    		out.println("<html><head></head>");
    		out.println("<body>");
    		out.println("ok");
    		Connection con=null;
    		Statement s=null;
    		ResultSet rs=null;
    		try {
     
    			//récupération de la Connection depuis le DataSource
    			con = ds.getConnection();
    			s = con.createStatement();
    			rs = s.executeQuery("SELECT * FROM seq_microsat");
    			while (rs.next()) {
    				out.println(rs.getInt(2) + "      ");
    				out.println(rs.getString(3) + "<br/>");
    			}
    		} catch (SQLException e) {
    			response.sendError(500, "Exception sur l'accès à la BDD " + e);
    		}finally {
    			if (rs != null)
    			{
    				try {
    					rs.close();
    				} catch (SQLException e) {}
    				rs = null;
    			}
    			if (s != null) {
    				try {
    					s.close();
    				} catch (SQLException e) {}
    				s = null;
    			}
    			if (con != null) {
    				try {
    					con.close();
    				} catch (SQLException e) {}
    				con = null;
    			}
    		}
    		out.println("</body>");
    		out.println("</html>");
    		out.close();
    	}
    	public void init() throws ServletException {
    		try {
    			//récupération de la source de donnée
    			Context initCtx = new InitialContext();
    			ds = (DataSource) initCtx.lookup("java:comp/env/jdbc/postgres");
    		} catch (Exception e) {
    			throw new UnavailableException(e.getMessage());
    		}
    	}
    }
    L'erreur est generée ici : } catch (SQLException e) {
    response.sendError(500, "Exception sur l'accès à la BDD " + e);

    quand j'entre dans le navigateur :

    http://localhost:8080/monapply/connection

    Je sais qu'il faut etre tres rigoureux sur les differents fichier xml, mais je ne voit vraiment pas ou est mon probleme.

    Je precise tout de meme que j'utilise le driver postgresql : postgresql-8.3dev-600.jdbc3.jar

    que dans tomcat\common\lib il y a les drivers :

    commons-collections-3.2.jar
    commons-collections-testframework-3.2.jar
    commons-dbcp-1.2.2.jar
    commons-el.jar
    commons-pool-1.3.jar
    + les drivers de base
    et aussi le driver postgresql

    Je sais vraiment plus quoi faire, j'ai essayé 50 trucs differents tous ont été un echec

    Si quelqu'un pouvait m'aider...

    Merci par avance

    Edenyorke

  2. #2
    Membre du Club
    Profil pro
    Inscrit en
    Mars 2006
    Messages
    83
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2006
    Messages : 83
    Points : 52
    Points
    52
    Par défaut
    J'ai trouvé ou etait mon probleme

    en fait j'utilise le driver postgresql-8.3dev-600.jdbc3.jar mais dans le server.xml il ne faut pas pointer vers ce driver (du moins son nom) mais vers org.postgresql.Driver

    pourquoi comment ca je ne sais pas mais ca marche c'est deja une bonne chose.

  3. #3
    Membre chevronné
    Homme Profil pro
    Directeur technique
    Inscrit en
    Janvier 2007
    Messages
    1 348
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 47
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Directeur technique

    Informations forums :
    Inscription : Janvier 2007
    Messages : 1 348
    Points : 1 787
    Points
    1 787
    Par défaut
    Oups réponse trop rapide

    Ben oui il faut donner le nom de la classe du driver jdbc, pas le nom du fichier jar ...

  4. #4
    Nouveau membre du Club
    Inscrit en
    Octobre 2010
    Messages
    33
    Détails du profil
    Informations forums :
    Inscription : Octobre 2010
    Messages : 33
    Points : 27
    Points
    27
    Par défaut Connot create JDBC driver of class
    J'ai la même erreur que toi et j'ai corrigé avec ta solution mais j'ai toujours l'erreur et comme je suis débutante sur les technologies comme hibernate/Spring/J2EE, j'aurai bien besoin de votre aide!!

    MERCI

  5. #5
    Membre éclairé

    Profil pro
    Technicien
    Inscrit en
    Février 2009
    Messages
    338
    Détails du profil
    Informations personnelles :
    Âge : 45
    Localisation : France

    Informations professionnelles :
    Activité : Technicien

    Informations forums :
    Inscription : Février 2009
    Messages : 338
    Points : 791
    Points
    791
    Par défaut
    Bonjour,

    As-tu une stacktrace à fournir ? Ce sera plus facile pour t'apporter de l'aide...

    Benoit

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Réponses: 1
    Dernier message: 17/07/2010, 18h58
  2. Réponses: 1
    Dernier message: 13/07/2010, 12h34
  3. Cannot create JDBC driver of class '' for connect URL 'null'
    Par ensisoft dans le forum Tomcat et TomEE
    Réponses: 1
    Dernier message: 09/10/2007, 19h05
  4. Cannot create JDBC driver of class '' for connect URL 'null'
    Par Elwe31 dans le forum Tomcat et TomEE
    Réponses: 14
    Dernier message: 11/07/2007, 17h43
  5. Réponses: 7
    Dernier message: 10/09/2006, 11h58

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo