SQLException: не найден подходящий драйвер для jdbc: derby: // localhost: 1527 - PullRequest
23 голосов
/ 28 сентября 2010

Я получаю эту ошибку в Netbeans:

java.sql.SQLException: No suitable driver found for jdbc:derby://localhost:1527/

Как это вызвано и как я могу ее решить?

Ответы [ 17 ]

25 голосов
/ 29 сентября 2010

java.sql.SQLException: не найден подходящий драйвер для jdbc: derby: // localhost: 1527 /

Это исключение имеет две причины:

  • Драйвер не загружен.
  • URL JDBC искажен.

В вашем случае я бы ожидал увидеть имя базы данных в концестроки подключения.Например (используйте create=true, если вы хотите, чтобы база данных создавалась, если она не существует):

jdbc:derby://localhost:1527/dbname;create=true

По умолчанию базы данных создаются в каталоге, где запущен сетевой сервер.Но вы также можете указать абсолютный путь к расположению базы данных:

jdbc:derby://localhost:1527//home/pascal/derbyDBs/dbname;create=true

И на всякий случай убедитесь, что derbyclient.jar находится на пути к классам и что вы загружаете соответствующийдрайвер org.apache.derby.jdbc.ClientDriver при работе в режиме сервера.

17 голосов
/ 27 сентября 2012

Примечание: вы можете скачать его с здесь .

Если вы не можете его найти, тогда

  1. Найдите свой проект в проектахвкладка выбора

  2. Щелкните правой кнопкой мыши «Библиотеки»

  3. Нажмите «Добавить JAR / папку ...»

  4. Выберите «derbyclient.jar»

  5. Нажмите «Открыть», тогда вы увидите «derbyclient.jar» в разделе «Библиотеки»

Убедитесь, что ваш URL, имя пользователя, пароль верны, и введите код:)

11 голосов
/ 09 февраля 2012

для меня

DriverManager.registerDriver(new org.apache.derby.jdbc.EmbeddedDriver());

помогли. Таким образом, DriveManager знает Derby EmbeddedDriver. Возможно, выделение нового EmbeddedDriver слишком сложное, но, с другой стороны, Class.forName требует try / catch / doSomethingIntelligentWithException, который мне не очень нравится.

4 голосов
/ 28 сентября 2010

JDBC DriverManager не может найти подходящий Driver для данного URL соединения.Либо драйвер JDBC вообще не загружается перед подключением к БД, либо неправильный URL-адрес подключения.Поскольку URL-адрес подключения выглядит нормально, я уверен, что драйвер вообще не загружен.Вам необходимо загрузить драйвер во время запуска приложения перед подключением БД.Для Apache Derby имя класса драйвера - org.apache.derby.jdbc.ClientDriver.Итак:

Class.forName("org.apache.derby.jdbc.ClientDriver");
3 голосов
/ 19 августа 2012

У меня была такая же проблема, когда я писал приложение Java на Netbeans. Вот решение:

  1. Найдите свой проект на вкладке выбора проектов

  2. Щелкните правой кнопкой мыши "Библиотеки"

  3. Нажмите "Добавить JAR / папку ..."

  4. Выберите "derbyclient.jar"

  5. Нажмите «Открыть», после чего вы увидите «derbyclient.jar» под вашими «библиотеками»

  6. Убедитесь, что ваш URL, имя пользователя, парольслово верное, и запустите ваш код:)

2 голосов
/ 20 июля 2011

Если вы используете встроенный Derby, вам нужен Derby.jar в вашем classpath.

2 голосов
/ 15 декабря 2013

На вопрос дан ответ, но в качестве иллюстрации приводится командная строка. Это сработало для меня, когда я пытался сделать как можно более простой тест для подключения к сети в режиме дерби.

  • Драйвер загружен в приложение с: Class.forName ("org.apache.derby.jdbc.ClientDriver"). NewInstance ();

  • URL-адрес соединения: «jdbc: derby: // localhost: 1527 / myDB; create = true»

  • Я запустил свое приложение, используя: java -classpath derbyclient.jar :. myAppClass

2 голосов
/ 03 июля 2014

Я решил эту проблему, добавив библиотеку в консоль библиотеки под моим проектом:

  • Щелкните правой кнопкой мыши и добавьте библиотеку
  • добавьте JAVA DB DRIVER.

Мой проект работает!

1 голос
/ 07 декабря 2015

Я столкнулся с той же проблемой.Я пропустил вызов DriverManager.registerDriver (), прежде чем получить соединение, используя URL-адрес соединения и учетные данные пользователя.

Это исправлено в Linux, как показано ниже:

DriverManager.registerDriver(new org.apache.derby.jdbc.ClientDriver());
connection = DriverManager.getConnection("jdbc:derby://localhost:1527//tmp/Test/DB_Name", user, pass);

Для Windows:

DriverManager.registerDriver(new org.apache.derby.jdbc.ClientDriver());
connection = DriverManager.getConnection("jdbc:derby://localhost:1527/C:/Users/Test/DB_Name", user, pass);
0 голосов
/ 07 июля 2018

Я столкнулся с подобной проблемой, и она была решена путем включения в ваш classpath в eclipse jars derby.jar, derbyclient.jar, derbynet.jar и derbytools.jar

Следуйте инструкциям-

  1. Щелкните правой кнопкой мыши по своему проекту и выберите «Путь сборки» -> «Настроить путь сборки».
  2. Перейдите на вкладку библиотеки и нажмите «Добавить внешний JAR-файл».

  3. Выберите вышеупомянутые банки с пути, например, C: \ Program Files \ Java \ jdk1.8.0_161 \ db \ lib

  4. Нажмите ОК.

Надеюсь, это поможет:)

...