2015-09-14 3 views
2

Я использую Netbeans 8.1 beta и Glassfish server 4.1, Mysql.Не удается создать соединение с базой данных GlassFish с Netbeans?

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

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 Fiel:

<?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 LIB, и я уже добавить ссылку на web.xml.

сталкивается эта ошибка:

описания Сервер обнаружил внутреннюю ошибку, которая не позволяет ему выполнить эту просьбу.

исключение

javax.servlet.ServletException: javax.servlet.jsp.JspException: Unable to get connection, DataSource invalid: "java.sql.SQLException: No suitable driver found for jdbc/IFPWAFCAD"

первопричиной

javax.servlet.jsp.JspException: Unable to get connection, DataSource invalid: "java.sql.SQLException: No suitable driver found for jdbc/IFPWAFCAD"

ответ

1

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

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

распаковать и скопировать MySQL-разъем-Java-5.x.xx-bin.jar его в $ glassfish_install_folder \ GlassFish \ Lib

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

0

После многих часов попыток заставить Netbeans (8.2) работать с Glassfish и, в частности, JDBC, я бросил Glassfish, поскольку понял, что он был прекращен. Вместо этого установлен Payara, который кажется вилкой. Довольно легко в том, что вы просто используете настройки Glassfish в Netbeans, просто указываете на новое направление. Чтобы открыть пул подключений и ресурсы JDBC, перейдите в консоль администратора Paraya, щелкнув правой кнопкой мыши на сервере в Netbeans и выберите «View Domain Admin Control». Перейдите в JDBC Connection Pool и вручную добавьте «IpwafcadPool». Не забудьте добавить свойства для пользователя (root) и Password (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. Да, я многому научился, устранив это, поэтому спасибо за это.

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