No suitable driver found
28/02/2013
0
Estou com recebendo um erro que não sei o que falta, já segui vários fóruns e nenhuma solução resolveu meu problema.
Recebo o erro :
WARNING: SQL Error: 0, SQLState: 08001 SEVERE: No suitable driver found for jdbc:mysql://localhost:3306/horas WARNING: StandardWrapperValve[Faces Servlet]: PWC1406: Servlet.service() for servlet Faces Servlet threw exception javax.persistence.PersistenceException: org.hibernate.exception.JDBCConnectionException: Cannot open connection at org.hibernate.ejb.AbstractEntityManagerImpl.convert(AbstractEntityManagerImpl.java:1179) at org.hibernate.ejb.AbstractEntityManagerImpl.convert(AbstractEntityManagerImpl.java:1112) at org.hibernate.ejb.AbstractEntityManagerImpl.throwPersistenceException(AbstractEntityManagerImpl.java:1189) at org.hibernate.ejb.TransactionImpl.begin(TransactionImpl.java:63) at filters.JPAFilter.doFilter(JPAFilter.java:38) at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:256) at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:215) at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:277) at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:188) at org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:641) at com.sun.enterprise.web.WebPipeline.invoke(WebPipeline.java:97) at com.sun.enterprise.web.PESessionLockingStandardPipeline.invoke(PESessionLockingStandardPipeline.java:85) at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:185) at org.apache.catalina.connector.CoyoteAdapter.doService(CoyoteAdapter.java:325) at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:226) at com.sun.enterprise.v3.services.impl.ContainerMapper.service(ContainerMapper.java:165) at com.sun.grizzly.http.ProcessorTask.invokeAdapter(ProcessorTask.java:791) at com.sun.grizzly.http.ProcessorTask.doProcess(ProcessorTask.java:693) at com.sun.grizzly.http.ProcessorTask.process(ProcessorTask.java:954) at com.sun.grizzly.http.DefaultProtocolFilter.execute(DefaultProtocolFilter.java:170) at com.sun.grizzly.DefaultProtocolChain.executeProtocolFilter(DefaultProtocolChain.java:135) at com.sun.grizzly.DefaultProtocolChain.execute(DefaultProtocolChain.java:102) at com.sun.grizzly.DefaultProtocolChain.execute(DefaultProtocolChain.java:88) at com.sun.grizzly.http.HttpProtocolChain.execute(HttpProtocolChain.java:76) at com.sun.grizzly.ProtocolChainContextTask.doCall(ProtocolChainContextTask.java:53) at com.sun.grizzly.SelectionKeyContextTask.call(SelectionKeyContextTask.java:57) at com.sun.grizzly.ContextTask.run(ContextTask.java:69) at com.sun.grizzly.util.AbstractThreadPool$Worker.doWork(AbstractThreadPool.java:330) at com.sun.grizzly.util.AbstractThreadPool$Worker.run(AbstractThreadPool.java:309) at java.lang.Thread.run(Thread.java:722) Caused by: org.hibernate.exception.JDBCConnectionException: Cannot open connection at org.hibernate.exception.SQLStateConverter.convert(SQLStateConverter.java:99) at org.hibernate.exception.JDBCExceptionHelper.convert(JDBCExceptionHelper.java:66) at org.hibernate.exception.JDBCExceptionHelper.convert(JDBCExceptionHelper.java:52) at org.hibernate.jdbc.ConnectionManager.openConnection(ConnectionManager.java:449) at org.hibernate.jdbc.ConnectionManager.getConnection(ConnectionManager.java:167) at org.hibernate.jdbc.JDBCContext.connection(JDBCContext.java:142) at org.hibernate.transaction.JDBCTransaction.begin(JDBCTransaction.java:85) at org.hibernate.impl.SessionImpl.beginTransaction(SessionImpl.java:1463) at org.hibernate.ejb.TransactionImpl.begin(TransactionImpl.java:60) ... 26 more
Meu filtro é:
package filters; import java.io.IOException; import javax.persistence.EntityManager; import javax.persistence.EntityManagerFactory; import javax.persistence.Persistence; import javax.servlet.Filter; import javax.servlet.FilterChain; import javax.servlet.FilterConfig; import javax.servlet.ServletException; import javax.servlet.ServletRequest; import javax.servlet.ServletResponse; import javax.servlet.annotation.WebFilter; @WebFilter(servletNames={"Faces Servlet"}) public class JPAFilter implements Filter{ private EntityManagerFactory factory; @Override public void init(FilterConfig filterConfig) throws ServletException { this.factory = Persistence.createEntityManagerFactory("horas-pu"); } @Override public void destroy() { this.factory.close(); } @Override public void doFilter(ServletRequest request, ServletResponse response, FilterChain chain) throws IOException, ServletException { //CHEGADA EntityManager manager = this.factory.createEntityManager(); request.setAttribute("EntityManager", manager); manager.getTransaction().begin(); //FACES SERVLET chain.doFilter(request, response); //SAÍDA try{ manager.getTransaction().commit(); } catch (Exception e){ manager.getTransaction().rollback(); } finally { manager.close(); } } }
ADicionei o mysql connector no build path do projeto, na WebContent/lib, na pasta lib do glassfish.
Criei uma classe para gerar as tabelas, por lá a conexão está Ok, retorna este erro quando roda o JSF no glassfish.
Já adicionei o Class.forName e o DriverManager.registerDriver e nenhum resolveu..
Se alguém puder dar uma mãozinha ai..
Obrigada
Alessandra
Posts
01/03/2013
Alessandra
Esta, se eu rodar a classe pra gerar as tabelas a conexão com banco ocorre ok, quando rodo o JSF é que recebo o erro 500 com esta stacktrace, que mostrei acima..
Tentei ir no painel de controle do glassfish e quando tentei dar um ping em uma conexão recebi o seguinte erro:
Ping failed Exception - Class name is wrong or classpath is not set for : com.mysql.jdbc.jdbc2.optional.MysqlDataSource Please check the server.log for more details.
Obrigada
01/03/2013
Alessandra
Fica sim, oh o caminho dele D:\Meus documentos\ambiente_desenvolvimento\glassfish3
Copiei o mysqlconnector pra D:\Meus documentos\ambiente_desenvolvimento\glassfish3\glassfish\lib
Att
01/03/2013
Davi Costa
Tenta verificar isso
att Davi
01/03/2013
Alessandra
Como descubro qual é compatível?
Att
01/03/2013
Alessandra
Segui uma apostila, havia feito o exercício já no curso, estou montando este projeto em cima desse exercício.
Att,
Alessandra
04/03/2013
Davi Costa
att Davi
24/07/2013
José
Clique aqui para fazer login e interagir na Comunidade :)