2014-05-09 2 views
1

Невозможно подключиться к базе данных.Указанный драйвер JDBC: org.h2.jdbc - не удалось выполнить инициализацию

Я также добавил последние h2-1.4.178.jar в путь к классам, создаю таблицу, проверил соединение с помощью инструментов.

Он работает, но Tomcat сказал: «HTTP Status 500 - com.vaadin.server.ServiceException: java.lang.RuntimeException: указанный драйвер JDBC: org.h2.jdbc - сбой инициализации».

Как это можно назвать? Я использую Eclipse. Это мой ЦСИ (я использую Vaadin):

try { 
     JDBCConnectionPool pool = new SimpleJDBCConnectionPool(
       "org.h2.jdbc", 
       "jdbc:h2:~test", "SA", "", 2, 5); 
     screen.polulate("TEST", pool); 
    } catch (SQLException e) { 
     throw new RuntimeException(e); 
    } 

Я нашел мою проблему (https://superuser.com/questions/290999/where-can-i-find-h2-jdbc-driver), но я не могу понять, что это значит:

А затем вызвать

Class.forName("org.h2.Driver"); 

ответ

1

Ответ, на который вы ссылаетесь, не имеет отношения к вашей проблеме. Проблема , вероятно, (образованное предположение) заключается в том, что первый параметр конструктора SimpleJDBCConnectionPool ожидает имя драйвера JDBC, а "org.h2.jdbc" не является именем драйвера JDBC (это "org.h2.Driver").

Использование Class.forName("org.h2.Driver"); больше не требуется для современных драйверов JDBC. Со старыми драйверами (которые не включают файл META-INF/services/java.sql.Driver с его реализацией (драйверами)), используя Class.forName("org.h2.Driver");, загрузит драйвер, а затем драйвер зарегистрируется java.sql.DriverManager, чтобы его можно было использовать для создания соединений.

+0

спасибо Марк, проблема в том, что я не копировал * .jars в WEB-INF/lib – user321626

Смежные вопросы