Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / Java [игнор отключен] [закрыт для гостей] / Нет подключения к БД / 14 сообщений из 14, страница 1 из 1
24.04.2017, 09:43
    #39443058
Norman94
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Нет подключения к БД
Добрый день. Столкнулся с проблемой подключения к БД MySQL через кибернайт с использованием JSF (грубо говоря, пытаюсь с xhtml страницы загрузить данные с MySql).

Вот класс с которого пытаюсь получить данные:

Код: java
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
26.
27.
28.
29.
30.
31.
32.
33.
34.
35.
36.
37.
38.
39.
40.
41.
42.
43.
44.
45.
46.
47.
48.
49.
50.
51.
52.
53.
54.
55.
56.
57.
58.
59.
60.
61.
62.
63.
64.
65.
66.
67.
68.
69.
70.
71.
72.
73.
74.
75.
76.
77.
78.
79.
80.
81.
82.
83.
package Lib;

import java.io.Serializable;
import javax.persistence.*;
import java.util.Date;

@Entity
@Table(name="lib")
@NamedQuery(name="Lib.findAll", query="SELECT l FROM Lib l")
public class Lib implements Serializable {
	
	private static final long serialVersionUID = 1L;

	@Id
	@Column(name="id")
	private int id;

	@Temporal(TemporalType.DATE)
	private Date bdate;

	@Column(name="book_id")
	private String bookId;

	@Temporal(TemporalType.DATE)
	private Date date;

	@Column(name="kod_sotr")
	private String kodSotr;

	private float pinalty;

	public Lib() {
	}

	public int getId() {
		return this.id;
	}

	public void setId(int id) {
		this.id = id;
	}

	public Date getBdate() {
		return this.bdate;
	}

	public void setBdate(Date bdate) {
		this.bdate = bdate;
	}

	public String getBookId() {
		return this.bookId;
	}

	public void setBookId(String bookId) {
		this.bookId = bookId;
	}

	public Date getGdate() {
		return this.date;
	}

	public void setGdate(Date gdate) {
		this.date = gdate;
	}

	public String getKodSotr() {
		return this.kodSotr;
	}

	public void setKodSotr(String kodSotr) {
		this.kodSotr = kodSotr;
	}

	public float getPinalty() {
		return this.pinalty;
	}

	public void setPinalty(float pinalty) {
		this.pinalty = pinalty;
	}

}



Вот класс, где я подключаюсь к нему

Код: java
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
26.
27.
28.
29.
30.
31.
32.
33.
34.
35.
36.
37.
38.
39.
40.
41.
42.
43.
44.
45.
46.
47.
48.
49.
50.
51.
52.
53.
54.
55.
56.
57.
58.
59.
60.
61.
62.
63.
64.
65.
66.
package Lib;

import java.util.List;

import javax.persistence.EntityManager;
import javax.persistence.Persistence;
import javax.persistence.PersistenceUnit;
import javax.persistence.TypedQuery;

import Book.Book;
import Lib.Lib;
import Book.BookService;
import User.LibraryUserService;
import User.User;

public class LibService {
	
	//@PersistenceUnit(name = "Library")
	public EntityManager em = Persistence.createEntityManagerFactory("Library").createEntityManager();
    public User us;
    public LibraryUserService userv;
    public Book bk;
    public BookService bks;
    
    public LibService(){
    	us = new User();
    	userv = new LibraryUserService();
    	bk = new Book();
    	bks = new BookService();
    }
 
    public Lib add(Lib lb){
        em.getTransaction().begin();
        Lib lFromDB = em.merge(lb);
        em.getTransaction().commit();
        return lFromDB;
    }
 
    public void delete(int id){
        em.getTransaction().begin();
        em.remove(get(id));
        em.getTransaction().commit();
    }
 
    public Lib get(int id){
    	us = new User();
    	Lib lb = new Lib();
    	lb = em.find(Lib.class, id);
    	us = userv.get(Integer.valueOf(lb.getKodSotr()));
    	lb.setKodSotr(us.getFio());
    	bk = bks.get(Integer.valueOf(lb.getBookId()));
    	lb.setBookId(bk.getBookName());
        return lb;
    }
 
    public void update(Lib lb){
        em.getTransaction().begin();
        em.merge(lb);
        em.getTransaction().commit();
    }
 
    public List<Lib> getAll(){
        TypedQuery<Lib> namedQuery = em.createNamedQuery("Lib.findAll", Lib.class);
        return namedQuery.getResultList();
    }
}



Вот сам Persistence

Код: java
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
26.
27.
28.
29.
30.
31.
32.
33.
34.
35.
<?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="UsersDataBase"
		transaction-type="RESOURCE_LOCAL">
		<provider>org.hibernate.jpa.HibernatePersistenceProvider</provider>
		<class>Users.Users</class>
		<class>Positions.Positions</class>
		<class>Departments.Departments</class>
		<properties>
			<property name="javax.persistence.jdbc.driver" value="oracle.jdbc.driver.OracleDriver" />
			<property name="javax.persistence.jdbc.url" value="jdbc:oracle:thin:@localhost:1521/xe" />
			<property name="javax.persistence.jdbc.password" value="serv" />
			<property name="javax.persistence.jdbc.user" value="server" />
			<property name="hibernate.show_sql" value="true" />			
		</properties>
	</persistence-unit>
	
	<persistence-unit name="Library" transaction-type="RESOURCE_LOCAL">
		<provider>org.hibernate.jpa.HibernatePersistenceProvider</provider>
		<class>Lib.Lib</class>
		<class>User.User</class>
		<class>Book.Book</class>
		<properties>
			<property name="javax.persistence.jdbc.driver" value="com.mysql.jdbc.Driver" />
			<property name="javax.persistence.jdbc.url" value="jdbc:mysql://localhost:3306/lib" />
			<property name="javax.persistence.jdbc.password" value="DIMA" />
			<property name="javax.persistence.jdbc.user" value="root" />
			<property name="hibernate.show_sql" value="true" />
			
		</properties>
	</persistence-unit>
</persistence>



И вот лог ошибки взятый из xhtml страницы:

Код: java
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
26.
27.
28.
29.
30.
31.
32.
33.
34.
35.
36.
37.
38.
39.
40.
41.
42.
43.
44.
45.
46.
47.
48.
49.
50.
51.
52.
53.
54.
55.
56.
57.
58.
59.
60.
61.
62.
63.
64.
65.
66.
67.
68.
69.
70.
71.
72.
73.
74.
75.
76.
77.
78.
79.
80.
81.
82.
83.
84.
85.
86.
87.
88.
89.
90.
91.
92.
93.
94.
95.
96.
97.
98.
99.
100.
101.
102.
103.
104.
105.
106.
107.
108.
109.
110.
111.
112.
113.
114.
115.
116.
117.
118.
119.
120.
121.
122.
123.
124.
125.
126.
127.
128.
129.
130.
131.
132.
133.
134.
135.
136.
137.
138.
139.
140.
141.
142.
143.
144.
145.
146.
147.
148.
149.
150.
151.
152.
153.
154.
155.
156.
157.
158.
159.
160.
161.
162.
163.
164.
165.
166.
167.
168.
169.
170.
171.
172.
173.
174.
175.
176.
177.
178.
179.
180.
181.
type Exception report

message org.hibernate.service.spi.ServiceException: Unable to create requested service [org.hibernate.engine.jdbc.env.spi.JdbcEnvironment]

description The server encountered an internal error that prevented it from fulfilling this request.

exception 

javax.servlet.ServletException: org.hibernate.service.spi.ServiceException: Unable to create requested service [org.hibernate.engine.jdbc.env.spi.JdbcEnvironment]
	javax.faces.webapp.FacesServlet.service(FacesServlet.java:659)
	org.apache.tomcat.websocket.server.WsFilter.doFilter(WsFilter.java:51)


root cause 

javax.faces.el.EvaluationException: org.hibernate.service.spi.ServiceException: Unable to create requested service [org.hibernate.engine.jdbc.env.spi.JdbcEnvironment]
	javax.faces.component.MethodBindingMethodExpressionAdapter.invoke(MethodBindingMethodExpressionAdapter.java:101)
	com.sun.faces.application.ActionListenerImpl.processAction(ActionListenerImpl.java:102)
	javax.faces.component.UICommand.broadcast(UICommand.java:315)
	javax.faces.component.UIViewRoot.broadcastEvents(UIViewRoot.java:790)
	javax.faces.component.UIViewRoot.processApplication(UIViewRoot.java:1282)
	com.sun.faces.lifecycle.InvokeApplicationPhase.execute(InvokeApplicationPhase.java:81)
	com.sun.faces.lifecycle.Phase.doPhase(Phase.java:101)
	com.sun.faces.lifecycle.LifecycleImpl.execute(LifecycleImpl.java:198)
	javax.faces.webapp.FacesServlet.service(FacesServlet.java:646)
	org.apache.tomcat.websocket.server.WsFilter.doFilter(WsFilter.java:51)


root cause 

org.hibernate.service.spi.ServiceException: Unable to create requested service [org.hibernate.engine.jdbc.env.spi.JdbcEnvironment]
	org.hibernate.service.internal.AbstractServiceRegistryImpl.createService(AbstractServiceRegistryImpl.java:271)
	org.hibernate.service.internal.AbstractServiceRegistryImpl.initializeService(AbstractServiceRegistryImpl.java:233)
	org.hibernate.service.internal.AbstractServiceRegistryImpl.getService(AbstractServiceRegistryImpl.java:210)
	org.hibernate.engine.jdbc.internal.JdbcServicesImpl.configure(JdbcServicesImpl.java:51)
	org.hibernate.boot.registry.internal.StandardServiceRegistryImpl.configureService(StandardServiceRegistryImpl.java:94)
	org.hibernate.service.internal.AbstractServiceRegistryImpl.initializeService(AbstractServiceRegistryImpl.java:242)
	org.hibernate.service.internal.AbstractServiceRegistryImpl.getService(AbstractServiceRegistryImpl.java:210)
	org.hibernate.boot.model.process.spi.MetadataBuildingProcess.handleTypes(MetadataBuildingProcess.java:352)
	org.hibernate.boot.model.process.spi.MetadataBuildingProcess.complete(MetadataBuildingProcess.java:111)
	org.hibernate.jpa.boot.internal.EntityManagerFactoryBuilderImpl.metadata(EntityManagerFactoryBuilderImpl.java:858)
	org.hibernate.jpa.boot.internal.EntityManagerFactoryBuilderImpl.build(EntityManagerFactoryBuilderImpl.java:885)
	org.hibernate.jpa.HibernatePersistenceProvider.createEntityManagerFactory(HibernatePersistenceProvider.java:58)
	javax.persistence.Persistence.createEntityManagerFactory(Persistence.java:55)
	javax.persistence.Persistence.createEntityManagerFactory(Persistence.java:39)
	Lib.LibService.<init>(LibService.java:19)
	MainBean.setLib(MainBean.java:37)
	MainBean.goLibrary(MainBean.java:51)
	sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
	sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
	sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
	java.lang.reflect.Method.invoke(Method.java:498)
	org.apache.el.parser.AstValue.invoke(AstValue.java:278)
	org.apache.el.MethodExpressionImpl.invoke(MethodExpressionImpl.java:274)
	com.sun.faces.facelets.el.TagMethodExpression.invoke(TagMethodExpression.java:105)
	javax.faces.component.MethodBindingMethodExpressionAdapter.invoke(MethodBindingMethodExpressionAdapter.java:87)
	com.sun.faces.application.ActionListenerImpl.processAction(ActionListenerImpl.java:102)
	javax.faces.component.UICommand.broadcast(UICommand.java:315)
	javax.faces.component.UIViewRoot.broadcastEvents(UIViewRoot.java:790)
	javax.faces.component.UIViewRoot.processApplication(UIViewRoot.java:1282)
	com.sun.faces.lifecycle.InvokeApplicationPhase.execute(InvokeApplicationPhase.java:81)
	com.sun.faces.lifecycle.Phase.doPhase(Phase.java:101)
	com.sun.faces.lifecycle.LifecycleImpl.execute(LifecycleImpl.java:198)
	javax.faces.webapp.FacesServlet.service(FacesServlet.java:646)
	org.apache.tomcat.websocket.server.WsFilter.doFilter(WsFilter.java:51)


root cause 

org.hibernate.exception.JDBCConnectionException: Error calling DriverManager#getConnection
	org.hibernate.exception.internal.SQLStateConversionDelegate.convert(SQLStateConversionDelegate.java:115)
	org.hibernate.engine.jdbc.connections.internal.BasicConnectionCreator$1$1.convert(BasicConnectionCreator.java:101)
	org.hibernate.engine.jdbc.connections.internal.BasicConnectionCreator.convertSqlException(BasicConnectionCreator.java:123)
	org.hibernate.engine.jdbc.connections.internal.DriverManagerConnectionCreator.makeConnection(DriverManagerConnectionCreator.java:37)
	org.hibernate.engine.jdbc.connections.internal.BasicConnectionCreator.createConnection(BasicConnectionCreator.java:58)
	org.hibernate.engine.jdbc.connections.internal.PooledConnections.addConnections(PooledConnections.java:123)
	org.hibernate.engine.jdbc.connections.internal.PooledConnections.<init>(PooledConnections.java:42)
	org.hibernate.engine.jdbc.connections.internal.PooledConnections.<init>(PooledConnections.java:20)
	org.hibernate.engine.jdbc.connections.internal.PooledConnections$Builder.build(PooledConnections.java:161)
	org.hibernate.engine.jdbc.connections.internal.DriverManagerConnectionProviderImpl.buildPool(DriverManagerConnectionProviderImpl.java:109)
	org.hibernate.engine.jdbc.connections.internal.DriverManagerConnectionProviderImpl.configure(DriverManagerConnectionProviderImpl.java:72)
	org.hibernate.boot.registry.internal.StandardServiceRegistryImpl.configureService(StandardServiceRegistryImpl.java:94)
	org.hibernate.service.internal.AbstractServiceRegistryImpl.initializeService(AbstractServiceRegistryImpl.java:242)
	org.hibernate.service.internal.AbstractServiceRegistryImpl.getService(AbstractServiceRegistryImpl.java:210)
	org.hibernate.engine.jdbc.env.internal.JdbcEnvironmentInitiator.buildJdbcConnectionAccess(JdbcEnvironmentInitiator.java:145)
	org.hibernate.engine.jdbc.env.internal.JdbcEnvironmentInitiator.initiateService(JdbcEnvironmentInitiator.java:66)
	org.hibernate.engine.jdbc.env.internal.JdbcEnvironmentInitiator.initiateService(JdbcEnvironmentInitiator.java:35)
	org.hibernate.boot.registry.internal.StandardServiceRegistryImpl.initiateService(StandardServiceRegistryImpl.java:88)
	org.hibernate.service.internal.AbstractServiceRegistryImpl.createService(AbstractServiceRegistryImpl.java:259)
	org.hibernate.service.internal.AbstractServiceRegistryImpl.initializeService(AbstractServiceRegistryImpl.java:233)
	org.hibernate.service.internal.AbstractServiceRegistryImpl.getService(AbstractServiceRegistryImpl.java:210)
	org.hibernate.engine.jdbc.internal.JdbcServicesImpl.configure(JdbcServicesImpl.java:51)
	org.hibernate.boot.registry.internal.StandardServiceRegistryImpl.configureService(StandardServiceRegistryImpl.java:94)
	org.hibernate.service.internal.AbstractServiceRegistryImpl.initializeService(AbstractServiceRegistryImpl.java:242)
	org.hibernate.service.internal.AbstractServiceRegistryImpl.getService(AbstractServiceRegistryImpl.java:210)
	org.hibernate.boot.model.process.spi.MetadataBuildingProcess.handleTypes(MetadataBuildingProcess.java:352)
	org.hibernate.boot.model.process.spi.MetadataBuildingProcess.complete(MetadataBuildingProcess.java:111)
	org.hibernate.jpa.boot.internal.EntityManagerFactoryBuilderImpl.metadata(EntityManagerFactoryBuilderImpl.java:858)
	org.hibernate.jpa.boot.internal.EntityManagerFactoryBuilderImpl.build(EntityManagerFactoryBuilderImpl.java:885)
	org.hibernate.jpa.HibernatePersistenceProvider.createEntityManagerFactory(HibernatePersistenceProvider.java:58)
	javax.persistence.Persistence.createEntityManagerFactory(Persistence.java:55)
	javax.persistence.Persistence.createEntityManagerFactory(Persistence.java:39)
	Lib.LibService.<init>(LibService.java:19)
	MainBean.setLib(MainBean.java:37)
	MainBean.goLibrary(MainBean.java:51)
	sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
	sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
	sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
	java.lang.reflect.Method.invoke(Method.java:498)
	org.apache.el.parser.AstValue.invoke(AstValue.java:278)
	org.apache.el.MethodExpressionImpl.invoke(MethodExpressionImpl.java:274)
	com.sun.faces.facelets.el.TagMethodExpression.invoke(TagMethodExpression.java:105)
	javax.faces.component.MethodBindingMethodExpressionAdapter.invoke(MethodBindingMethodExpressionAdapter.java:87)
	com.sun.faces.application.ActionListenerImpl.processAction(ActionListenerImpl.java:102)
	javax.faces.component.UICommand.broadcast(UICommand.java:315)
	javax.faces.component.UIViewRoot.broadcastEvents(UIViewRoot.java:790)
	javax.faces.component.UIViewRoot.processApplication(UIViewRoot.java:1282)
	com.sun.faces.lifecycle.InvokeApplicationPhase.execute(InvokeApplicationPhase.java:81)
	com.sun.faces.lifecycle.Phase.doPhase(Phase.java:101)
	com.sun.faces.lifecycle.LifecycleImpl.execute(LifecycleImpl.java:198)
	javax.faces.webapp.FacesServlet.service(FacesServlet.java:646)
	org.apache.tomcat.websocket.server.WsFilter.doFilter(WsFilter.java:51)


root cause 

java.sql.SQLException: No suitable driver found for jdbc:mysql://localhost:3306/lib
	java.sql.DriverManager.getConnection(DriverManager.java:689)
	java.sql.DriverManager.getConnection(DriverManager.java:208)
	org.hibernate.engine.jdbc.connections.internal.DriverManagerConnectionCreator.makeConnection(DriverManagerConnectionCreator.java:34)
	org.hibernate.engine.jdbc.connections.internal.BasicConnectionCreator.createConnection(BasicConnectionCreator.java:58)
	org.hibernate.engine.jdbc.connections.internal.PooledConnections.addConnections(PooledConnections.java:123)
	org.hibernate.engine.jdbc.connections.internal.PooledConnections.<init>(PooledConnections.java:42)
	org.hibernate.engine.jdbc.connections.internal.PooledConnections.<init>(PooledConnections.java:20)
	org.hibernate.engine.jdbc.connections.internal.PooledConnections$Builder.build(PooledConnections.java:161)
	org.hibernate.engine.jdbc.connections.internal.DriverManagerConnectionProviderImpl.buildPool(DriverManagerConnectionProviderImpl.java:109)
	org.hibernate.engine.jdbc.connections.internal.DriverManagerConnectionProviderImpl.configure(DriverManagerConnectionProviderImpl.java:72)
	org.hibernate.boot.registry.internal.StandardServiceRegistryImpl.configureService(StandardServiceRegistryImpl.java:94)
	org.hibernate.service.internal.AbstractServiceRegistryImpl.initializeService(AbstractServiceRegistryImpl.java:242)
	org.hibernate.service.internal.AbstractServiceRegistryImpl.getService(AbstractServiceRegistryImpl.java:210)
	org.hibernate.engine.jdbc.env.internal.JdbcEnvironmentInitiator.buildJdbcConnectionAccess(JdbcEnvironmentInitiator.java:145)
	org.hibernate.engine.jdbc.env.internal.JdbcEnvironmentInitiator.initiateService(JdbcEnvironmentInitiator.java:66)
	org.hibernate.engine.jdbc.env.internal.JdbcEnvironmentInitiator.initiateService(JdbcEnvironmentInitiator.java:35)
	org.hibernate.boot.registry.internal.StandardServiceRegistryImpl.initiateService(StandardServiceRegistryImpl.java:88)
	org.hibernate.service.internal.AbstractServiceRegistryImpl.createService(AbstractServiceRegistryImpl.java:259)
	org.hibernate.service.internal.AbstractServiceRegistryImpl.initializeService(AbstractServiceRegistryImpl.java:233)
	org.hibernate.service.internal.AbstractServiceRegistryImpl.getService(AbstractServiceRegistryImpl.java:210)
	org.hibernate.engine.jdbc.internal.JdbcServicesImpl.configure(JdbcServicesImpl.java:51)
	org.hibernate.boot.registry.internal.StandardServiceRegistryImpl.configureService(StandardServiceRegistryImpl.java:94)
	org.hibernate.service.internal.AbstractServiceRegistryImpl.initializeService(AbstractServiceRegistryImpl.java:242)
	org.hibernate.service.internal.AbstractServiceRegistryImpl.getService(AbstractServiceRegistryImpl.java:210)
	org.hibernate.boot.model.process.spi.MetadataBuildingProcess.handleTypes(MetadataBuildingProcess.java:352)
	org.hibernate.boot.model.process.spi.MetadataBuildingProcess.complete(MetadataBuildingProcess.java:111)
	org.hibernate.jpa.boot.internal.EntityManagerFactoryBuilderImpl.metadata(EntityManagerFactoryBuilderImpl.java:858)
	org.hibernate.jpa.boot.internal.EntityManagerFactoryBuilderImpl.build(EntityManagerFactoryBuilderImpl.java:885)
	org.hibernate.jpa.HibernatePersistenceProvider.createEntityManagerFactory(HibernatePersistenceProvider.java:58)
	javax.persistence.Persistence.createEntityManagerFactory(Persistence.java:55)
	javax.persistence.Persistence.createEntityManagerFactory(Persistence.java:39)
	Lib.LibService.<init>(LibService.java:19)
	MainBean.setLib(MainBean.java:37)
	MainBean.goLibrary(MainBean.java:51)
	sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
	sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
	sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
	java.lang.reflect.Method.invoke(Method.java:498)
	org.apache.el.parser.AstValue.invoke(AstValue.java:278)
	org.apache.el.MethodExpressionImpl.invoke(MethodExpressionImpl.java:274)
	com.sun.faces.facelets.el.TagMethodExpression.invoke(TagMethodExpression.java:105)
	javax.faces.component.MethodBindingMethodExpressionAdapter.invoke(MethodBindingMethodExpressionAdapter.java:87)
	com.sun.faces.application.ActionListenerImpl.processAction(ActionListenerImpl.java:102)
	javax.faces.component.UICommand.broadcast(UICommand.java:315)
	javax.faces.component.UIViewRoot.broadcastEvents(UIViewRoot.java:790)
	javax.faces.component.UIViewRoot.processApplication(UIViewRoot.java:1282)
	com.sun.faces.lifecycle.InvokeApplicationPhase.execute(InvokeApplicationPhase.java:81)
	com.sun.faces.lifecycle.Phase.doPhase(Phase.java:101)
	com.sun.faces.lifecycle.LifecycleImpl.execute(LifecycleImpl.java:198)
	javax.faces.webapp.FacesServlet.service(FacesServlet.java:646)
	org.apache.tomcat.websocket.server.WsFilter.doFilter(WsFilter.java:51)


note The full stack trace of the root cause is available in the Apache Tomcat/7.0.47 logs.



То есть создаётся ощущение, что TomCat по каким то причинам не видит драйвер подключения, хотя он лежит в WEB-INF/lib, и в Эклипсе он подключен через Build Path. Подскажите, как решить эту проблему?
...
Рейтинг: 0 / 0
24.04.2017, 13:00
    #39443224
Norman94
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Нет подключения к БД
Никто не знает, как решить проблему, круто.

Но кто может, скажите пожалуйста, как в Tomcat зарегистрировать драйвер? А то гугл выдаёт совершенно разные ответы.
...
Рейтинг: 0 / 0
24.04.2017, 13:06
    #39443231
Hett
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Нет подключения к БД
Там в исключении все написано:

Код: plaintext
java.sql.SQLException: No suitable driver found for jdbc:mysql://localhost:3306/lib

Какой сервер приложений?
...
Рейтинг: 0 / 0
24.04.2017, 13:07
    #39443233
Hett
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Нет подключения к БД
скачайте драйвер и по мануалам сервера прикрутите его
...
Рейтинг: 0 / 0
24.04.2017, 14:43
    #39443325
Norman94
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Нет подключения к БД
Hett,

Стоит сервер Tomcat 8.5

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

Код: java
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
<Resource name="jdbc/lib" 
      global="jdbc/lib" 
      auth="Container" 
      type="javax.sql.DataSource" 
      driverClassName="com.mysql.jdbc.Driver" 
      url="jdbc:mysql://localhost:3306/lib" 
      username="root" 
      password="DIMA" 
      
      maxActive="100" 
      maxIdle="20" 
      minIdle="5" 
      maxWait="10000"/>



А в контекст
Код: java
1.
2.
3.
4.
<ResourceLink name="jdbc/lib"
              global="jdbc/lib"
              auth="Container"
              type="javax.sql.DataSource" />


Пофиг
...
Рейтинг: 0 / 0
24.04.2017, 15:26
    #39443364
Blazkowicz
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Нет подключения к БД
Norman94,

У вас Persistence.xml напрямую использует драйвер. Для того чтобы использовать JDBC DataSource томката (server.xml) нужно прописывать JNDI name.
http://stackoverflow.com/questions/2911439/refering-tomcat-jndi-datasource-in-persistence-xml
Это более правильный подход.

По поводу того почему из WEB-INF/lib не работает, то надо смотреть где именно файл, какой именно файл и не игнорирует ли его Tomcat по какой-то причине.
...
Рейтинг: 0 / 0
24.04.2017, 15:34
    #39443378
Norman94
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Нет подключения к БД
Blazkowicz,

Простите за тупой коммент, но по ссылке я не нашёл чего либо полезного. Или я не туда смотрю? Где нужно прописывать это JNDI name? И что это такое?
...
Рейтинг: 0 / 0
24.04.2017, 15:38
    #39443381
Blazkowicz
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Нет подключения к БД
Norman94,

В вашем PU нужно удалить JDBC из properties, а вместо них добавить
Код: xml
1.
<non-jta-data-source>jdbc/lib</non-jta-data-source>


Только в правильное место, а не прямо в <properties>
Tutorial-ы стоит хотя бы прочесть
https://docs.oracle.com/cd/E19798-01/821-1841/bnbrj/index.html
...
Рейтинг: 0 / 0
24.04.2017, 16:04
    #39443415
Norman94
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Нет подключения к БД
Blazkowicz,

Не, ему похрену. Та же ошибка выскакивает.

Вот как выглядит PU

Код: java
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
26.
27.
28.
29.
30.
31.
32.
33.
<?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="UsersDataBase"
		transaction-type="RESOURCE_LOCAL">
		<provider>org.hibernate.jpa.HibernatePersistenceProvider</provider>
		<class>Users.Users</class>
		<class>Positions.Positions</class>
		<class>Departments.Departments</class>
		<properties>
			<property name="javax.persistence.jdbc.url" value="jdbc:oracle:thin:@localhost:1521/xe" />
			<property name="javax.persistence.jdbc.password" value="serv" />
			<property name="javax.persistence.jdbc.user" value="server" />
			<property name="hibernate.show_sql" value="true" />	
		</properties>	
	</persistence-unit>
	
	<persistence-unit name="Library" transaction-type="RESOURCE_LOCAL">
		<provider>org.hibernate.jpa.HibernatePersistenceProvider</provider>
		<non-jta-data-source>jdbc/lib</non-jta-data-source>
		<class>Lib.Lib</class>
		<class>User.User</class>
		<class>Book.Book</class>
		<properties>
			<property name="javax.persistence.jdbc.url" value="jdbc:mysql://localhost:3306/lib" />
			<property name="javax.persistence.jdbc.password" value="DIMA" />
			<property name="javax.persistence.jdbc.user" value="root" />
			<property name="hibernate.show_sql" value="true" />	
		</properties>
	</persistence-unit>
</persistence>
...
Рейтинг: 0 / 0
24.04.2017, 16:08
    #39443421
Blazkowicz
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Нет подключения к БД
Norman94,

А удалить javax.persistence.jdbc из PU?
А stacktrace ошибки поменялся? Пишет что DataSource не может создать?
Тогда вы что-то не то в качестве драйвера используете.
...
Рейтинг: 0 / 0
24.04.2017, 16:22
    #39443443
Norman94
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Нет подключения к БД
Blazkowicz,

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

<property name="javax.persistence.jdbc.driver" value="com.mysql.jdbc.Driver" />

Я персистенс заново создал со всеми параметрами - заработало. Спасибо!
...
Рейтинг: 0 / 0
24.04.2017, 17:14
    #39443501
Hett
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Нет подключения к БД
Этот параметр в первом посте уже был. Из-за чего не работало?
...
Рейтинг: 0 / 0
24.04.2017, 17:19
    #39443508
Blazkowicz
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Нет подключения к БД
Norman94Спасибо, я решил проблему. Оказывается ему нужна была эта строчка
<property name="javax.persistence.jdbc.driver" value="com.mysql.jdbc.Driver" />
Я персистенс заново создал со всеми параметрами - заработало. Спасибо!
Решили одну, создали другую, принципиально игнорируя то что вам пишут.
...
Рейтинг: 0 / 0
25.04.2017, 07:12
    #39443778
WGA
WGA
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Нет подключения к БД
BlazkowiczNorman94Спасибо, я решил проблему. Оказывается ему нужна была эта строчка
<property name="javax.persistence.jdbc.driver" value="com.mysql.jdbc.Driver" />
Я персистенс заново создал со всеми параметрами - заработало. Спасибо!
Решили одну, создали другую, принципиально игнорируя то что вам пишут.Человек курсовик пишет, некогда ерундой заниматься :)
...
Рейтинг: 0 / 0
Форумы / Java [игнор отключен] [закрыт для гостей] / Нет подключения к БД / 14 сообщений из 14, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]