Имя класса драйвера для источника данных отсутствует (Netbeans+ PostgreSql + Glassfish)

Я пытаюсь разработать приложение EJB с использованием Netbeans 8 на сервере Postgres 9.2 db и Glassfish 4.

Как только я создал пул соединений и ресурсы JDBC в панели администратора glassfish, я не могу добавлять объекты с помощью источника данных. Netbeans все еще дает мне ошибку:

имя класса драйвера для источника данных отсутствует

Я уже пробовал добавлять библиотеки к проекту. Я скопировал postgresql-9.2-1002.jdbc4.jar и postgresql-9.2-1002.jdbc3.файлы jar в C:Program Filesglassfish-4.0glassfishdomainsdomain1lib folder.

скриншот:http://imageshack.com/a/img843/6884/w3ko.png

Если я создаю сущности, используя соединение, созданное ранее (в службах/базах данных NB), оно работает, но результирующий набор после любого запроса пуст. Есть идеи?

вот пул соединений, который я создал:http://imageshack.com/a/img838/8286/bkw8.png

Это мой стойкость.XML-код:

<?xml version="1.0" encoding="UTF-8"?>
<persistence version="2.1" xmlns="http://xmlns.jcp.org/xml/ns/persistence" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://xmlns.jcp.org/xml/ns/persistence http://xmlns.jcp.org/xml/ns/persistence/persistence_2_1.xsd">
  <persistence-unit name="Esempio-ejbPU" transaction-type="JTA">
    <jta-data-source>try_</jta-data-source>
    <exclude-unlisted-classes>false</exclude-unlisted-classes>
    <properties>
      <property name="javax.persistence.schema-generation.database.action" value="create"/>
    </properties>
  </persistence-unit>
</persistence>

7 ответов


извиняюсь за прямоту, но я считаю, что в данной конкретной ситуации, вы все ошибаетесь. Что следует сделать:

  • перейдите на панель администрирования сервера Glassfish (ссылка должна выглядеть так:http://localhost:4848/common/index.в JSF (на вкладке дополнительные свойства)
    • нажать на кнопку услуги в Netbeans
    • нажать на кнопку сервер
    • щелкните правой кнопкой мыши имя сервера [A появится всплывающее контекстное меню]
    • нажмите на View Domain Admin Console [Примечание: ваш сервер должен быть запущен, чтобы увидеть эту функцию. Вкладка браузера запускается автоматически, если сервер запущен. Вы знаете, что ваш сервер работает если вы видите зеленоватый стрелку справа от экземпляра сервера]
  • нажать на кнопку ресурсы
  • нажать на кнопку JDBC
  • нажмите на пулы соединений JDBC
  • добавить следующие свойства, нажимая каждый раз на кнопку "Добавить свойство" (после выбора имени пула и его редактирование):

    • driverClass: com.для MySQL.интерфейс jdbc.Водитель!--10-->
    • URL-адресом : С JDBC:для MySQL://localhost в/your_database_name
    • пароль: your_password к системе управления базами данных
    • имя_сервера : localhost или имя_сервера
    • пользователей : root или your_username для доступа к системе управления базами данных
    • имя_базы_данных: your_database_name
  • настройка ресурсы JDBC [JDBC/your_pool_name]

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

сохранить все (кнопка обычно находится в правом верхнем углу вашего интернет-браузера) не забывайте, что ресурсы JDBC всегда подключены к пулу соединений. Так что убедитесь, что это для вас. Они, пулы соединений JDBC и ресурсы JDBC, обычно расположены под JDBC в меню левой панели панели администрирования сервера. Вернитесь к тому, что вы делали, и повторите попытку. Также обратите внимание, что это работает для систем управления базами данных MySQL. Возможно, Вам потребуется изменить класс драйвера, а также URL-адрес при использовании другой СУБД. Вы можете найти дополнительную информацию на YouTube [http://www.youtube.com/].

Я считаю, что это ответ.


для меня проблема заключалась в том, что я добавил новый файл JAR драйвера JDBC в Glassfish, но я не добавил его в NetBeans.

первый шаг-скопировать файл JAR в папку EXT NetBean. Для меня эта папка: "C:\Program Files\NetBeans 8.0.1\ide\modules\ext"

Затем нам нужно добавить драйвер JDBC, как описано ниже:

  • в NetBeans выберите пункт меню Окно > службы, который добавляет вкладку Службы в проводник панель.
  • разверните узел дерева "база данных"
  • щелкните правой кнопкой мыши на узле дерева " драйверы "и выберите" новый драйвер..."
  • в окне" новый драйвер JDBC "нажмите " Добавить"..."который открывает диалоговое окно с надписью "выберите драйвер".
  • перейдите в папку EXT, в которую вы скопировали файл JAR, и выберите файл JAR.
  • нажмите OK.
  • новый драйвер будет добавлен в список.

когда я попытался создать "лицо класс из базы данных", я все еще сталкивался с проблемами, когда выбирал свое соединение. Попробовав различные вещи, что сработало для меня было:

  • снова откройте узел дерева базы данных и удалите все подключения к базе данных.
  • вернитесь на вкладки проекты и выполните шаги для создания "класса сущности из базы данных".
  • когда появится диалоговое окно, в выпадающем списке выберите "новый источник данных".
  • Выбрать драйвер и введите информацию для вашей базы.
  • после воссоздания соединения я смог создать класс сущности из выбранной таблицы базы данных.

удачи!


Я решил эту проблему так:

  1. удалить источник данных в glassfish.
  2. создайте источник данных подключения в Netbeans (Tab Services --> Databases)
  3. создать корпоративный проект
  4. создание классов сущностей из базы данных
  5. выполнить мастера
  6. разверните проект в glassfish из NetBeans
  7. войдите в консоль администрирования Glassfish и проверьте созданный источник данных в Resources-->JDBC (должен будет создан пул и источник данных).

добавление файла jar драйвера в "{$installation_folder}\NetBeans 8.0.1\ide\modules\ext " исправила проблему для меня


Я столкнулся с той же проблемой, так:

  • прежде всего, это не проблема Jboss или Glassfish. это Netbeans или Eclipse.

  • во-вторых, чтобы решить эту проблему, сделайте следующее:

    1. удалить все соединения (в Netbeans: на вкладке "службы" сначала отключите, затем щелкните левой кнопкой мыши "удалить")
    2. повторно создайте соединение (в Netbeans: на вкладке "службы", затем "база данных" щелкните левой кнопкой мыши новое соединение. в мастере создания соединения и после выбора типа подключения сосредоточьтесь на URL JDBC и скопируйте прошлое из standalone. тогда заканчивай)

решено: это была проблема пула соединений. Создание драйвера в панели администратора glassfish у меня больше нет проблем.


в свойствах пула соединений в свойстве URL не забудьте "localhost"