JPA.Eclipselink не предоставляет пароль для MySQL, хотя он должен - PullRequest
1 голос
/ 12 ноября 2011

Я пытаюсь использовать базу данных MySQL с EclipseLink, используя Netbeans, но продолжаю получать это исключение EJB, когда приложение собирается получить данные из базы данных:

Причина: javax.persistence.PersistenceException: Exception [EclipseLink-4002] (Eclipse Persistence Services - 2.3.0.v20110604-r9504): org.eclipse.persistence.exceptions.DatabaseException Внутреннее исключение: java.sql.SQLException: ошибка при выделении соединения. Причина: Невозможно выделить соединение, так как: Доступ запрещен для пользователя 'root' @ 'localhost' (с использованием пароля: НЕТ)

Как вы можете видеть, «использование пароля» имеет значение НЕТ, но это должно быть ДА, потому что у меня установлен пароль для доступа к серверу MySQL. Я уже сохранил пароль в свойствах своего сервера и могу просматривать несколько баз данных, которые он содержит.

Это мой persitence.xml:

<?xml version="1.0" encoding="UTF-8"?>
<persistence version="2.0" xmlns="http://java.sun.com/xml/ns/persistence" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://java.sun.com/xml/ns/persistence http://java.sun.com/xml/ns/persistence/persistence_2_0.xsd">
  <persistence-unit name="Project_googlePU" transaction-type="JTA">
    <provider>org.eclipse.persistence.jpa.PersistenceProvider</provider>
    <jta-data-source>jdbc/programmeren_project</jta-data-source>
    <exclude-unlisted-classes>false</exclude-unlisted-classes>
    <properties>
      <property name="eclipselink.ddl-generation" value="create-tables"/>
    </properties>
  </persistence-unit>
</persistence>

Можно ли разрешить EclipseLink предоставить пароль? Или может быть другая проблема?

Ответы [ 2 ]

2 голосов
/ 12 ноября 2011

Я обычно поставляю пароли прямо в persistence.xml:

<property name="javax.persistence.jdbc.password" value="MYPW"/>

Не зависит от eclipselink, как в ответе bilash.saha.

2 голосов
/ 12 ноября 2011

Вы можете добавить пользователя и пароль в файл persistence.xml с помощью

<property name="eclipselink.jdbc.user" value=""/>
<property name="eclipselink.jdbc.password" value=""/>

Кстати, у вас есть источник данных JTA. Я думаю, что имя пользователя и пароль должны быть в файле DS.

...