124 votes

La fameuse exception java.sql.SQLException : Aucun pilote approprié n'a été trouvé

J'essaie d'ajouter un JSP avec base de données à une application Tomcat 5.5 existante (GeoServer 2.0.0, si cela peut aider).

L'application elle-même communique parfaitement avec Postgres, je sais donc que la base de données est en place, que l'utilisateur peut y accéder, et tout le reste. Ce que j'essaie de faire, c'est une requête de base de données dans un JSP que j'ai ajouté. J'ai utilisé l'exemple de configuration dans la page Exemple de source de données Tomcat pratiquement prêt à l'emploi. Les taglibs nécessaires sont au bon endroit - aucune erreur ne se produit si je n'ai que les refs des taglibs, donc il trouve ces JARs. Le pilote jdbc postgres, postgresql-8.4.701.jdbc3.jar se trouve dans $CATALINA_HOME/common/lib.

Voici le haut de la JSP :

<%@ taglib uri="http://java.sun.com/jsp/jstl/sql" prefix="sql" %>
<%@ taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c" %>

<sql:query var="rs" dataSource="jdbc/mmas">
  select current_validstart as ValidTime from runoff_forecast_valid_time
</sql:query>

La section correspondante de $CATALINA_HOME/conf/server.xml, à l'intérieur de la section <Host> qui se trouve à son tour à l'intérieur de <Engine> :

<Context path="/gs2" allowLinking="true">
  <Resource name="jdbc/mmas" type="javax.sql.Datasource"
      auth="Container" driverClassName="org.postgresql.Driver"
      maxActive="100" maxIdle="30" maxWait="10000"
      username="mmas" password="very_secure_yess_precious!"
      url="jdbc:postgresql//localhost:5432/mmas" />
</Context>

Ces lignes sont les dernières de la balise dans webapps/gs2/WEB-INF/web.xml :

<resource-ref>
  <description>
     The database resource for the MMAS PostGIS database
  </description>
  <res-ref-name>
     jdbc/mmas
  </res-ref-name>
  <res-type>
     javax.sql.DataSource
  </res-type>
  <res-auth>
     Container
  </res-auth>
</resource-ref>

Enfin, l'exception :

   exception
    org.apache.jasper.JasperException: Unable to get connection, DataSource invalid: "java.sql.SQLException: No suitable driver"
    [...wads of ensuing goo elided]

0voto

manojvinibabu Points 1

Pour moi, la même erreur s'est produite lors de la connexion à postgres lors de la création d'un dataframe à partir d'une table .Elle était due à la dépendance manquante. la dépendance jdbc n'était pas définie .j'utilisais maven pour la construction ,j'ai donc ajouté la dépendance requise au fichier pom à partir de dépendance maven

dépendance jdbc

0voto

GSN Points 73

Pour moi, l'ajout de la dépendance ci-dessous au fichier pom.xml a fonctionné comme par magie ! Je n'avais pas de dépendance pour le connecteur mysql et même l'ajout du fichier jar mssql jdbc au chemin de construction n'a pas fonctionné non plus.

    <dependency> 
        <groupId>com.microsoft.sqlserver</groupId>
        <artifactId>mssql-jdbc</artifactId>
        <version>9.4.0.jre11</version>
    </dependency>

0voto

Dipak_Patil Points 1

J'ai rencontré le même problème. dans mon cas, les deux points ':' avant '//' (jdbc:mysql://localhost:3306/dbname) manquaient, et cela a résolu le problème. Assurez-vous que : et // sont placés correctement.

-2voto

Jerry Points 420

J'ai rencontré ce problème en plaçant un fichier XML dans le fichier src/main/resources par erreur, je l'ai supprimée et tout est revenu à la normale.

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X