Не удается создать подключение к базе данных GlassFish с помощью Netbeans?

Я использую бета-версию Netbeans 8.1 и сервер Glassfish 4.1, Mysql.

Каждый раз, когда я создаю соединение между своим веб-приложением и базой данных, оно не может этого сделать.

Файл index.jsp:

<%@taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core"%>
<%@taglib prefix="sql" uri="http://java.sun.com/jsp/jstl/sql"%>
<%-- 
    Document   : index
    Created on : Sep 14, 2015, Sep 14, 2015 12:48:03 AM
    Author     : ESAJ
--%>
<link rel="stylesheet" type="text/css" href="style.css">



<%@page contentType="text/html" pageEncoding="UTF-8"%>
<!DOCTYPE html>
<html>
    <head>
        <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
        <title>Samir</title>
    </head>
    <body>
        <h1><span style="color:#FF0000;">IFPWAFCAD</span></h1>
        <table border="0">
            <thead>
                <tr>
                    <th>IFPWAFCAD offers expert counseling in a wide range of fields.</th>
                </tr>
            </thead>
            <tbody>
                <tr>
                    <td>
                        <form action="response.jsp">
                            <strong>Select a subject:</strong>
                        </form>
                        <select name="subject_id">
                            <option></option>
                            <option></option>
                        </select>
                        <input type="submit" value="submit" />
                    </td>
                </tr>
                <tr>
                    <td>To view the contact details of an IFPWAFCAD certified former
                        professional wrestler in your area, select a subject below:</td>
                </tr>
            </tbody>
        </table>
        <sql:query var="subject" dataSource="jdbc/IFPWAFCAD">
            SELECT subject_id, name FROM Subject
        </sql:query>
        <table border="1">
            <!-- column headers -->
            <tr>
                <c:forEach var="columnName" items="${subjects.columnNames}">
                    <th><c:out value="${columnName}"/></th>
                    </c:forEach>
            </tr>
            <!-- column data -->
            <c:forEach var="row" items="${subjects.rowsByIndex}">
                <tr>
                    <c:forEach var="column" items="${row}">
                        <td><c:out value="${column}"/></td>
                    </c:forEach>
                </tr>
            </c:forEach>
        </table>
    </body>
</html>

Поле Glassfish resources.xml:

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE resources PUBLIC "-//GlassFish.org//DTD GlassFish Application Server 3.1 Resource Definitions//EN" "http://glassfish.org/dtds/glassfish-resources_1_5.dtd">
<resources>
  <jdbc-resource enabled="true" jndi-name="jdbc/IFPWAFCAD" object-type="user" pool-name="IfpwafcadPool">
    <description/>
  </jdbc-resource>
  <jdbc-connection-pool allow-non-component-callers="false" associate-with-thread="false" connection-creation-retry-attempts="0" connection-creation-retry-interval-in-seconds="10" connection-leak-reclaim="false" connection-leak-timeout-in-seconds="0" connection-validation-method="auto-commit" datasource-classname="com.mysql.jdbc.jdbc2.optional.MysqlDataSource" fail-all-connections="false" idle-timeout-in-seconds="300" is-connection-validation-required="false" is-isolation-level-guaranteed="true" lazy-connection-association="false" lazy-connection-enlistment="false" match-connections="false" max-connection-usage-count="0" max-pool-size="32" max-wait-time-in-millis="60000" name="IfpwafcadPool" non-transactional-connections="false" pool-resize-quantity="2" res-type="javax.sql.ConnectionPoolDataSource" statement-timeout-in-seconds="-1" steady-pool-size="8" validate-atmost-once-period-in-seconds="0" wrap-jdbc-objects="false">
    <property name="URL" value="jdbc:mysql://localhost:3306/mynewdatabase?zeroDateTimeBehavior=convertToNull"/>
    <property name="User" value="root"/>
    <property name="Password" value="admin"/>
  </jdbc-connection-pool>
</resources>

Я уже копирую файл Jar в библиотеку Glassfish, а также уже добавляю ссылку на web.xml.

Я сталкиваюсь с этой ошибкой:

описание На сервере произошла внутренняя ошибка, из-за которой он не смог выполнить этот запрос.

исключение

javax.servlet.ServletException: javax.servlet.jsp.JspException: невозможно установить соединение, недействительный источник данных: «java.sql.SQLException: не найден подходящий драйвер для jdbc/IFPWAFCAD»

коренная причина

javax.servlet.jsp.JspException: невозможно установить соединение, недопустимый источник данных: «java.sql.SQLException: не найден подходящий драйвер для jdbc/IFPWAFCAD»


person Samir Junaid    schedule 14.09.2015    source источник


Ответы (2)


Похоже, вам не хватает драйвера jdbc для MySql. Загрузите его отсюда

http://dev.mysql.com/downloads/connector/j/

разархивируйте и скопируйте mysql-connector-java-5.x.xx-bin.jar в $glassfish_install_folder\glassfish\lib

Правильный драйвер пользователя, который соответствует версии jdk и mysql, которую вы используете, чтобы избежать ошибок.

person simar    schedule 15.09.2015

После многих часов попыток заставить Netbeans (8.2) работать с Glassfish и, в частности, с JDBC, я отказался от Glassfish, поскольку понял, что он больше не поддерживается. Вместо этого установил Payara, которая кажется форком. Довольно просто, поскольку вы просто используете настройки Glassfish в Netbeans, просто указываете новое направление. Чтобы отобразить пул соединений и ресурсы JDBC, перейдите в консоль администратора Paraya, щелкнув правой кнопкой мыши сервер в Netbeans и выбрав «Просмотреть управление администратором домена». Перейдите в пул соединений JDBC и вручную добавьте «IpwafcadPool». Не забудьте добавить свойства для пользователя (root) и пароля (root). URL-адрес имеет два свойства, одно в верхнем и одно в нижнем регистре. Я изменил оба на jdbc:mysql://localhost:3306/MyNewDatabase?zeroDateTimeBehavior=convertToNull.

Но тогда для этого вышеуказанного вопроса. Я могу только подтвердить, что драйвер соединителя должен быть обновлен до последней версии. Я попытался с mysql-connector-java-5.1.40-bin.jar (в папке lib), перезапустил Paraya, и теперь он работает как шарм. Теперь я НАКОНЕЦ могу продолжить работу с руководством https://netbeans.org/kb/docs/web/mysql-webapp.html. Да, я многому научился, устраняя эту неполадку, так что спасибо за это.

person Rbbn    schedule 02.12.2016