Печально известный java.sql.SQLException: подходящий драйвер не найден - PullRequest
64 голосов
/ 16 декабря 2009

Я пытаюсь добавить JSP с поддержкой базы данных в существующее приложение Tomcat 5.5 (GeoServer 2.0.0, если это помогает).

Само приложение прекрасно общается с Postgres, так что я знаю, что база данных работает, пользователь может получить к ней доступ, и все такое. Я пытаюсь сделать запрос к базе данных в JSP, который я добавил. Я использовал пример конфигурации в примере источника данных Tomcat практически из коробки. Необходимые теги находятся в нужном месте - никаких ошибок не возникает, если у меня просто есть ссылки на теги, поэтому он находит эти JAR-файлы. Драйвер jdbc postgres, postgresql-8.4.701.jdbc3.jar находится в каталоге $ CATALINA_HOME / common / lib.

Вот вершина 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>

Соответствующий раздел из $ CATALINA_HOME / conf / server.xml внутри <Host>, который, в свою очередь, находится внутри <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>

Эти строки являются последними в теге в 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>

Наконец, исключение:

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

Ответы [ 12 ]

0 голосов
/ 29 июня 2017

Помимо добавления коннектора MySQL JDBC, убедитесь, что context.xml (если он не распакован в папке веб-приложений Tomcat) с определениями соединений с БД включен в каталог conf Tomcats.

0 голосов
/ 14 февраля 2017

Я использовал jruby, в моем случае я создал в config / initializers

postgres_driver.rb

$CLASSPATH << '~/.rbenv/versions/jruby-1.7.17/lib/ruby/gems/shared/gems/jdbc-postgres-9.4.1200/lib/postgresql-9.4-1200.jdbc4.jar'

или где бы вы ни находились, и все!

...