Jdbc драйвер не загружен
Microsoft JDBC Driver для SQL Server для обмена данными с базой данных SQL Server необходим установленный протокол TCP/IP. Просмотреть установленные протоколы сетевой библиотеки можно с помощью диспетчера конфигурации SQL Server.
Попытка подключить к базе данных может завершиться с ошибкой по многим причинам. Можно выполнить следующие действия.
Протокол TCP/IP не включен для SQL Server, либо указан неправильный сервер или номер порта. Убедитесь, что SQL Server с включенным протоколом TCP/IP прослушивает заданный порт на указанном сервере. При этом может быть вызвано исключение примерно такого содержания: "Не удалось войти в систему. Не удалось соединиться с узлом по протоколу TCP/IP". Это указывает на одну из следующих причин:
SQL Server установлен, но сетевой протокол TCP/IP не установлен для SQL Server с помощью программы SQL Server Network Utility для SQL Server 2000 (8.x) или диспетчера конфигурации SQL Server для SQL Server 2005 (9.x) и более поздних версий.
TCP/IP установлен в качестве протокола SQL Server, но не прослушивается порт, указанный в URL-адресе для подключения к JDBC. Порт 1433 задан по умолчанию, но при установке SQL Server можно настроить прослушивание любого порта. Убедитесь, что SQL Server прослушивает порт 1433. Кроме того, если порт был изменен, убедитесь, что порт, указанный в URL-адресе для соединения с JDBC, совпадает с измененным портом. Дополнительные сведения о формировании URL-адресов для соединения с JDBC см. в этой статье.
Адрес компьютера, указанный в URL-адресе для подключения к JDBC, не содержит ссылки на сервер, где установлен и запущен SQL Server.
Используемый сервером порт закрыт брандмауэром. Это может быть порт, используемый сервером, или (необязательно) порт, связанный с именованным экземпляром сервера.
Указано неверное имя базы данных. Убедитесь, что такая база данных SQL Server действительно существует.
Неправильное имя пользователя или пароль. Проверьте вводимые данные.
При использовании проверки подлинности SQL Server JDBC Driver требует, чтобы на SQL Server была установлена проверка подлинности SQL Server, отличная от проверки по умолчанию. Убедитесь, что этот параметр включен при установке или настройке вашего экземпляра SQL Server.
Я пытаюсь создать соединение с моей базой данных, когда я ставлю тестовый код с помощью основного метода, он работает без проблем. Однако при попытке получить доступ к нему через Tomcat 7 он терпит неудачу ошибка:
Я использую пул. Я поставил в mysql connector (5.1.15), dbcp(1.4) и пул (1.4.5) библиотеки в WEB-INF/lib и in .классов, а также. Я использую Eclipse IDE. Мой код для драйвера базы данных:
начало трассировки стека:
что вызывает эту ошибку?
Попробуйте поместить jar драйвера в папку lib сервера. ($CATALINA_HOME / lib)
Я считаю, что пул соединений должен быть настроен еще до создания экземпляра приложения. (По крайней мере, так это работает в JBoss)
причина, по которой вы получили эту ошибку:
это потому, что вы забыли зарегистрировать драйвер JDBC mysql с приложением java.
вот что вы написали:
должно быть:
вам нужно будет прочитать руководство по конкретному драйверу mysql JDBC, чтобы найти точную строку для размещения внутри класса.forName(". ") параметр.
класса.forName не требуется с JDBC V. 4
у меня была та же проблема с использованием Tomcat7 с mysql-connector-java-5.1.26, что я положил в оба моих $CATALINA_HOME/lib и WEB-INF/lib, на всякий случай. Но он не найдет его, пока я не использую один из этих двух операторов, прежде чем получить соединение:
затем я продолжил удаление mysql-connector-java-5.1.26 из $CATALINA_HOME / lib, и соединение все еще работает.
- нажмите "Open Launch Config" > вкладка Classpath установите местоположение MySQL connector/j jar. или
- расположение сервера > выберите опцию, которая говорит " использовать установку Tomcat (взять под контроль установку Tomcat)"
У меня была библиотека mysql jdbc как в $CATALINA_HOME/lib, так и в WEB-INF / lib, но я получил эту ошибку . Мне нужны были занятия.forName("com по.для MySQL.интерфейс jdbc.Водителя"); чтобы заставить его работать.
у меня была та же проблема, все, что вам нужно сделать, это определить переменную среды classpath для tomcat, вы можете сделать это, добавив файл, в моем случае C:\apache-tomcat-7.0.30\bin\setenv.bat , содержащих:
затем код, в моем случае:
Я запускаю Tomcat 7 в Eclipse с Java 7 и использую драйвер jdbc для MSSQL sqljdbc4.сосуд.
при запуске кода за пределами tomcat, из автономного приложения java, это сработало просто отлично:
однако, когда я попытался запустить тот же код внутри Tomcat 7, я обнаружил, что могу заставить его работать, только сначала зарегистрировав драйвер, изменив вышеизложенное на это:
добавить артефакт из maven.
Бро, вы также можете написать код, как показано ниже:
Если вы используете netbeans, вы должны добавить драйвер JDBC Mysql в список библиотек проекта, в свойствах вашего проекта
У меня также была та же проблема некоторое время назад, но я решил эту проблему.
для этого исключения могут быть разные причины. И один из них может заключаться в том, что банка, которую вы добавляете в свою папку lib, может быть старой.
попробуйте выяснить последняя версия mysql-connector-jar и добавьте это в свой путь к классам. Это может решить вашу проблему. Моя была решена вот так.
большую часть времени это происходит потому, что два mysql-connector-java-3.0.14-production-bin.файл jar. Один в папке lib tomcat, а другой в пути к классам проекта.
просто попробуйте удалить mysql-connector-java-3.0.14-production-bin.jar из папки lib.
таким образом, это работает для меня.
из того, что я заметил, Может быть две причины для этого исключения: (1)имя вашего водителя написано неправильно. (2)драйвер не был должным образом связан с проектом Java Шаги для выполнения в Eclipse: (1)Создайте новый проект Java. (2)скопируйте файл jar разъем (3)щелкните правой кнопкой мыши на проекте Java и вставьте его туда. (4)щелкните правой кнопкой мыши на проекте Java - > свойства - >путь сборки Java - >библиотеки - > добавить Jar - >выберите проект ur(выберите файл jar из раскрывающийся список) и нажмите ok.
убедитесь, что соединитель базы данных может быть достигнут вашим classpath, когда под управлением (не компилируется) программа, например:
кроме того, если вы используете старую версию Java (pre JDBC 4.0), прежде чем делать DriverManager.getConnection эта строка требуется:
при разработке с использованием Ubuntu (Xubuntu 12.04.1) мне "пришлось" сделать следующее:
Eclipse Juno (загружено, не установлено через программный центр), Tomcat 7 (загруженный в пользовательский каталог пользователя) также добавлен как сервер в Eclipse, Динамический веб-проект с сервлетом 3.0, Сервер MySQL на localhost настроен и протестирован с помощью пользователя и пароля (обязательно проверьте) MySQL драйвер разъема 5.1.24 jar,
Я "имел", и я повторяю "имел", нам класс.Загрузить ("com.для MySQL.интерфейс jdbc.Driver") оператор вместе с добавлением драйвера соединителя.jar должен быть в папке lib веб-проекта, чтобы он работал в этой ситуации.
важно. после копирования драйвера.jar to the lib убедитесь, что вы обновили свой проект в Eclipse перед запуском сервлета через Tomcat.
Я попытался добавить файл jar драйвера соединителя через Путь сборки с и без ClassLoad, но это не сработало!
надеюсь, это поможет кому-нибудь начать разработка с этой конкретной ситуацией: сообщество Java предоставляет "много" документации, но есть так много переменных, что его трудно охватить все из них, и это делает вещи очень трудными для нового парня.
Я думаю, если бы кто-нибудь мог объяснить, почему класс.Нагрузка требуется здесь (в этой ситуации), это было бы полезно.
поскольку никто не дал этого ответа, я также хотел бы добавить, что вы можете просто добавить файл драйвера jdbc ( mysql-connector-java-5.1.27-bin.jar в моем случае) в папку lib вашего сервера(Tomcat в моем случае). Перезапустите сервер и он должен работать.
проверьте наличие опечатки в url-адресе соединения, например
"jdbc: mysql: / / localhost:3306 / report "("отчет" - это имя БД)
добавьте класс драйвера в bootstrapclasspath. Проблема в java.язык SQL.DriverManager, который не видит драйверы, загруженные загрузчиками классов, отличными от загрузчика классов bootstrap.
из другого потока stackoverflow:
"во-вторых. Убедитесь, что у вас есть MySQL JDBC Driver aka Connector/J в пути к классам JMeter. Если нет-скачайте, распакуйте и отбросьте mysql-connector-java-x.xx.xx-bin.банку в папку JMeter /lib. Перезапуск JMeter потребуется, чтобы забрать библиотеку"
пожалуйста, убедитесь, что .jar-файл добавляется в папку lib.
вы можете вставить банку в путь времени выполнения jboss, как это:
C:\User\user\workspace\jboss-as-web-7.0.0.Final\standalone\deployments\MYapplicationEAR.ухо\тест.война\WEB-INF\lib ca marche 100%
Я пытаюсь подключить базу LibreOffice с базой данных MySQL, в phpMyAdmin, с JDBC-соединением.
первым шагом является выбор базы данных, которую вы хотите выбрать:
второй шаг-выбрать, какое соединение:
третий шаг-выбрать базу данных:
когда я нажимаю "Klasse testen" (тестовый класс ), я получаю следующую ошибку: "com.для MySQL.интерфейс jdbc.драйвер не может быть загрузил.
кто-нибудь знает, как избежать этой ошибки?
сначала необходимо загрузить и" зарегистрировать " разъем JDBC. Для этого:
перейти к http://dev.mysql.com/downloads/connector/j/ и загрузите ZIP-архив с разъемом JDBC ("независимый от платформы"); вы можете также загрузить установщик MSI; в этом случае файл jar можно найти в Program Files (x86)/MySQL/MySQL Connector J/ (при условии, что система Win 7 64bit)
распакуйте архив на локальном ПК (помните путь к его содержимое), или альтернативно установить файл MSI;
запустить LibreOffice (не базовый, просто LO);
Открыть Меню Tools -> Options -> LibreOffice -> Advanced -> Путь К Классу ;
клик добавить Архив ;
Выберите файл jar с шага 1-3 и нажмите OK . Теперь Class Path диалог должен выглядеть следующим образом:
вот и все. Теперь LO знает, где искать драйвер JDBC MySQL.
Если вы используете Red Hat, как дистрибутивы linux, как Fedora, вы можете установить его из репозиториев с yum или dnf, а затем:
В Base goto Tools/Options /Java нажмите Classpath и выберите/usr/share/java / mysql-connector-java.jar в браузере файлов.
кстати, для MariaDB в все остальное то же самое, но класс драйвера jdbc изменяется на это:
после выполнения вышеуказанных инструкций и успешного подключения к нужной базе данных MySQL я обнаружил, что таблицы, содержащие 0000-00-00 00:00: 00 в поле DateTime, генерируют ошибку '0000-00-00 00:00:00' не может быть загружен как Java.язык SQL.Метка. Поиск ссылок на "zeroDateTimeBehavior=convertToNull", поскольку решение было простым; сложной частью было где ввести это в LibreOffice. Быстрый ответ: введите его как часть имя базы данных поле-таким образом, "mydatabase" станет " mydatabase?zeroDateTimeBehavior=convertToNull'. Работает под Linux Mint / Ubuntu с localhost в сервер, это творил чудеса. Рады хруст!
Я пытаюсь добавить JSP с поддержкой базы данных в существующее приложение Tomcat 5.5 (GeoServer 2.0.0, если это помогает).
Само приложение прекрасно взаимодействует с Postgres, поэтому я знаю, что база данных работает, пользователь может получить к ней доступ и все такое хорошее. Я пытаюсь выполнить запрос к базе данных в добавленном мной JSP. Я использовал пример конфигурации в примере с источником данных Tomcat практически сразу после установки. Необходимые библиотеки тегов находятся в нужном месте - ошибок не возникает, если у меня есть только ссылки на библиотеки тегов, поэтому он находит эти JAR. Драйвер postgres jdbc, postgresql-8.4.701.jdbc3.jar находится в $ CATALINA_HOME / common / lib.
Соответствующий раздел из $ CATALINA_HOME / conf / server.xml, внутри которого, в свою очередь, находится внутри :
Эти строки являются последними в теге в webapps / gs2 / WEB-INF / web.xml:
Печально известный java.sql.SQLException: подходящий драйвер не найден
Это исключение может иметь две основные причины:
Вам необходимо убедиться, что драйвер JDBC находится в собственной /lib папке сервера .
В случае PostgreSQL это описано здесь .
- jdbc:postgresql:database
- jdbc:postgresql://host/database
- jdbc:postgresql://host:port/database
В случае MySQL это описано здесь .
Общий формат URL-адреса JDBC для подключения к серверу MySQL следующий, при этом элементы в квадратных скобках ( [ ] ) являются необязательными:
jdbc:mysql://[host1][:port1][,[host2][:port2]]. [/[database]] » [?propertyName1=propertyValue1[&propertyName2=propertyValue2]. ]
В случае Oracle это описано здесь .
Есть 2 синтаксиса URL: старый синтаксис, который будет работать только с SID, и новый синтаксис с именем службы Oracle.
Старый синтаксис jdbc:oracle:thin:@[HOST][:PORT]:SID
Новый синтаксис jdbc:oracle:thin:@//[HOST][:PORT]/SERVICE
Смотрите также:
Спасибо ребята! Извините, 1-я попытка не была в OP, просто jdbc: postgresql: mmas (и я пробовал другие!). К сожалению, с URL-адресом araqnid результат тот же. Вчера вечером я поменял местами содержимое tablib на (ick) встроенную Java, и это отлично работает: попробуйте
Ах. Комментарии не так много с форматированием кода. Кхм. Показывает мой новичок? (ZIIP!) В любом случае, пример Джакарты был посвящен использованию синтаксиса
ИМХО, использование sql taglib лишь немного лучше, чем выполнение JDBC в скриптлетах . я предпочитаю шаблон контроллера / представления, где материал db выполняется заранее, а JSP просто отображает материал. Но каждый сам по себе, и использование sql: query
Я никогда не говорил, что согласен с использованием JSTL SQL taglib, но это не тема, о которой идет речь.
Я получаю версию java и проблему совместимости mysql-connect-java.jar с logstash.
может ли кто-нибудь сказать мне, какая версия mysql-connect-java.jar совместима с какой версией java?
моя текущая версия Java
Я пробовал использовать файлы jar соединителя mysql ниже, но каждый терпит неудачу.
Конфигурационный файл Logstash — mysql.conf.
в моем проекте maven с java 8 у меня есть mysql-connector-java-5.1.36.jar. попробуйте, чтобы увидеть, работает ли это.
@Sahzeb, ты знаешь, где это задокументировано? какая версия совместима с какой банкой?
@Shahzeb, та же ошибка, с версией mysql-connector-java-5.1.36.jar, можете ли вы сказать мне свою точную версию java?
если вы не укажете версию в файле pom.xml (проект maven). это разрешено maven в весенней загрузке.
Где находится ваш водитель? Вы пробовали полный путь для jdbc_driver_library ?
да путь правильный и он находится в том же каталоге
@Michael Dz, вы были правы, это проблема пути, когда я перемещаю файл в другой каталог, он работает нормально
Я решил проблему, переместив файл jar из папки /etc/logstash/conf.d/ в домашний каталог в Ubuntu. наконец-то работал с java версии 8 с mysql-connector-java-5.1.36.jar
@JunedAnsari не стесняйтесь публиковать свой комментарий в качестве ответа и принимайте его, если он сработал для вас.
Будучи разработчиком веб-приложений, легко впасть в заблуждение, считая, что приложение без JavaScript не имеет права на жизнь. Нам становится удобно.
Если вы ищете пакет для быстрой интеграции календаря с выбором даты в ваше приложения, то библиотека Flatpickr отлично справится с этой задачей.
Клиент для URL-адресов, cURL, позволяет взаимодействовать с множеством различных серверов по множеству различных протоколов с синтаксисом URL.
У каждого из нас бывали случаи, когда нам нужно отцентрировать блочный элемент, но мы не знаем, как это сделать. Даже если мы реализуем какой-то.
Ответы 3
Logstash не может загрузить драйвер, потому что он ищет драйвер не в том месте, вы всегда должны указывать полный путь к драйверу, например:
для logstash 6.2.x и выше рекомендуется добавлять драйверы в:
и лучше оставить jdbc_driver_library пустым. это также цитировалось на многих форумах elastic.co.
Спасибо! Это исправление работает для Logstash 7.1 на Mac Mojave.
В моем случае я указал полный путь от jdbc_driver_library до: "/opt/drivers/mysql-connector-java-8.0.15.jar"
Он работал до перезагрузки, а затем внезапно начал выдавать ошибку.
Я обнаружил, что по какой-то причине файл jdbc.jar был поврежден, размер изменился на 0 КБ. Я повторно загрузил банку, сбросил ее по полному пути и перезапустил.
Поэтому вы можете просто проверить, что ваш файл jdbc в порядке. Он не должен быть 0 КБ.
Другие вопросы по теме
Похожие вопросы
Immutables Автоматически созданный репозиторий для MongoDB выдает «Не удается найти кодек для интерфейса» CodecConfigurationException
Передача файла в качестве параметра другому классу в Java вызывает ошибку «Файл или каталог не найден»
Читайте также: