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

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

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

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

 BalusC01 февр. 2016 г., 09:38

Ответы на вопрос(17)

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

Следуйте шагам

Щелкните правой кнопкой мыши по своему проекту и выберите «Путь сборки» -> «Настроить путь сборки».

Перейдите на вкладку библиотеки и нажмите «Добавить внешние файлы JAR».

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

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

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

terDriver (), прежде чем получить соединение, используя 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);

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 при работе в режиме сервера.

Я только столкнулся с этой проблемой, попробовал все вышеупомянутые предложения, но все еще потерпел неудачу. Без повторения того, что было предложено выше, вот вещи, которые я (вы), возможно, упускаем: В случае, если вы используете maven, скорее всего, вы заявите о зависимостях, то есть:

<groupId>org.apache.derby</groupId>
<artifactId>derbyclient</artifactId>
<version>10.10.1.1</version>

Пожалуйста, будьте осторожны с версией. Он должен быть совместим с экземпляром сервера, на котором вы работаете.

Я решил свой случай, отказавшись от предоставляемых maven зависимостей и вручную добавив внешний jar из "% JAVA_HOME% \ db \ lib", того же источника моего работающего сервера. В этом случае я тестирую, используя мой Local.

Поэтому, если вы тестируете с удаленным экземпляром сервера, поищите файл derbyclient.jar, поставляемый с серверным пакетом.

Вы можете отсутствовать, чтобы запустить сервер Derby. Как только сервер derby запускается, он начинает прослушивать порт по умолчанию 1527.

Стартовый скрипт расположен так:

Окна:

    <DERBY_INSTALLATION_DIRECTORY>/bin/startNetworkServer.bat

Linux:

    <DERBY_INSTALLATION_DIRECTORY>/bin/startNetworkServer

Для меня

DriverManager.registerDriver(new o,rg.apache.derby.jdbc.EmbeddedDriver());

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

 srk06 янв. 2013 г., 13:12
Это также сработало для меня.

Если база данных создана, и вы установили соединение с, то вам нужно добавить jar драйвера. В окне проекта щелкните правой кнопкой мыши папку с библиотеками и перейдите в раздел c: Programsfiles \ Sun \ javadb \ lib \ derbyclient.jar. загрузите файл, и вы сможете запустить.

всего наилучшего

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

Я перепробовал все, что упоминалось в этой теме, и только .registerDriver () работал для меня. Вот как теперь выглядит моя часть кода:

DriverManager.registerDriver(new org.apache.derby.jdbc.ClientDriver());
connection = DriverManager.getConnection(url, user, pass);

Обратите внимание, что проблема не во встроенном дерби.

Обратите внимание: вы можете скачать его сВот.

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

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

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

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

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

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

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

Также возможно, что в файле persistence.xml EmbeddedDriver использовался, когда URL-адрес jdbc указывал на сервер Derby. В этом случае просто измените URL, указав путь к базе данных.

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

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

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

Эта ошибка возникает, когда синтаксис строки подключения недопустим.

Вы можете использовать строку подключения как

'jdbc:derby:MyDbTest;create=true'

или же

Вы можете использовать следующую команду в командной строке, команда ниже создает новую базу данных с именемMyDbTest успешно:

connect 'jdbc:derby:MyDbTest;create=true';

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

Class.forName("org.apache.derby.jdbc.ClientDriver");
 Bryan Pendleton29 сент. 2010 г., 03:16
На самом деле я думаю, что они используют ClientDriver, а не EmbeddedDriver, основываясь на URL-адресе соединения. Так что это должен быть org.apache.derby.jdbc.ClientDriver.
 BalusC29 сент. 2010 г., 04:08
Исправлено, спасибо :)
 Blaskovicz18 нояб. 2011 г., 22:25
Моя проблема также заключалась в переключении на derbyclient.jar вместо derby.jar для моего сетевого экземпляра derby.

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

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

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

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

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

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

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

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

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

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

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

Вы также можете получить ту же ошибку, если сервер Java DB не был запущен.

Ваш ответ на вопрос