Link to home
Start Free TrialLog in
Avatar of freeOne
freeOne

asked on

Servlet Hibernate - java.sql.SQLException: No suitable driver found for org.postgresql.Driver

Hi,

I new at Hibernate and I wrote a littel test application in Ecplipse to test and learn how Hibernate works. This small program works well and Hibernate could find org.postgres.Driver and is reading and writing to the database correct.

Then when I try to test my code in a servlet it can't find the Postgres driver.

I get the following error:
2010-nov-26 07:16:35 org.hibernate.cfg.Configuration applyHibernateValidatorLegacyConstraintsOnDDL
INFO: Hibernate Validator not found: ignoring
2010-nov-26 07:16:35 org.hibernate.cfg.search.HibernateSearchEventListenerRegister enableHibernateSearch
INFO: Unable to find org.hibernate.search.event.FullTextIndexEventListener on the classpath. Hibernate Search is not enabled.
2010-nov-26 07:16:35 org.hibernate.connection.DriverManagerConnectionProvider configure
INFO: Using Hibernate built-in connection pool (not for production use!)
2010-nov-26 07:16:35 org.hibernate.connection.DriverManagerConnectionProvider configure
INFO: Hibernate connection pool size: 20
2010-nov-26 07:16:35 org.hibernate.connection.DriverManagerConnectionProvider configure
INFO: autocommit mode: false
2010-nov-26 07:16:35 org.hibernate.connection.DriverManagerConnectionProvider configure
INFO: using driver: org.postgresql.Driver at URL: org.postgresql.Driver
2010-nov-26 07:16:35 org.hibernate.connection.DriverManagerConnectionProvider configure
INFO: connection properties: {user=postgres, password=****}
2010-nov-26 07:16:35 org.hibernate.cfg.SettingsFactory buildSettings
VARNING: Could not obtain connection to query metadata
java.sql.SQLException: No suitable driver found for org.postgresql.Driver
        at java.sql.DriverManager.getConnection(DriverManager.java:602)
        at java.sql.DriverManager.getConnection(DriverManager.java:154)
        at org.hibernate.connection.DriverManagerConnectionProvider.getConnection(DriverManagerConnectionProvider.java:133)
        at org.hibernate.cfg.SettingsFactory.buildSettings(SettingsFactory.java:114)
        at org.hibernate.cfg.Configuration.buildSettingsInternal(Configuration.java:2833)
        at org.hibernate.cfg.Configuration.buildSettings(Configuration.java:2829)
        at org.hibernate.cfg.Configuration.buildSessionFactory(Configuration.java:1840)
        at se.bostadsforsaljning.managers.HibernateManager.<init>(HibernateManager.java:62)
        at se.bostadsforsaljning.server.Server.processRequest(Server.java:103)
        at se.bostadsforsaljning.server.Server.doPost(Server.java:83)
        at javax.servlet.http.HttpServlet.service(HttpServlet.java:637)
        at javax.servlet.http.HttpServlet.service(HttpServlet.java:717)
        at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:290)
        at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
        at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:233)
        at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:191)
        at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:127)
        at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:102)
        at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:109)
        at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:298)
        at org.apache.coyote.http11.Http11AprProcessor.process(Http11AprProcessor.java:861)
        at org.apache.coyote.http11.Http11AprProtocol$Http11ConnectionHandler.process(Http11AprProtocol.java:579)
        at org.apache.tomcat.util.net.AprEndpoint$Worker.run(AprEndpoint.java:1584)

The driver i using for Postgres i postgresql-8.4-701.jdbc4.jar.

How do I solve this issue?

Avatar of Mick Barry
Mick Barry
Flag of Australia image

you need to add the driver jar to your container by adding the jat to tomcats lib directory
Avatar of freeOne
freeOne

ASKER

I have put the jar file in:

...\apache-tomcat-6.0.28\lib

But, even if its there it is not working....
Avatar of freeOne

ASKER

The driver I'm using is postgresql-8.4-701.jdbc4.jar.

I have tried to put it in the above given folder and under the sites WEB_INF/lib

But nothinng works.

Any idée what i should do?
is the class it is looking for in that jar?
Avatar of freeOne

ASKER

Yes, it is there...

I have tried both and postgresql-8.4-701.jdbc4.jar and postgresql-9.0-801.jdbc3.jar

in the folders:
...\apache-tomcat-6.0.28\lib
...\WEB_INF/lib

and Hibernate can't find it anny were.
ASKER CERTIFIED SOLUTION
Avatar of Mick Barry
Mick Barry
Flag of Australia image

Link to home
membership
This solution is only available to members.
To access this solution, you must be a member of Experts Exchange.
Start Free Trial
Avatar of freeOne

ASKER

Thanks alot for your help.

It was the connection string that was wrong. When I changed it to the correct one it worked perfectly with all verions mentioned above.
Avatar of freeOne

ASKER

Thanks a lot