Back Forum Reply New

org.springframework.jdbc.UncategorizedSQLException : Hibernate operation:

mons.dbcp.SQLNestedException: Cannot load JDBC driver class 'org.postgresql.Driver'at org.apache.commons.dbcp.BasicDataSource.createData  Source(BasicDataSource.java:766)at org.apache.commons.dbcp.BasicDataSource.getConnect  ion(BasicDataSource.java:540)at org..orm.hibernate3.LocalDataSource  ConnectionProvider.getConnection(LocalDataSourceCo  nnectionProvider.java:81)at org.hibernate.cfg.SettingsFactory.buildSettings(Se  ttingsFactory.java:72)at org.hibernate.cfg.Configuration.buildSettings(Conf  iguration.java:1881)at org.hibernate.cfg.Configuration.buildSessionFactor  y(Configuration.java:1174)at org..orm.hibernate3.LocalSessionFac  toryBean.newSessionFactory(LocalSessionFactoryBean  .java:825)at org..orm.hibernate3.LocalSessionFac  toryBean.afterPropertiesSet(LocalSessionFactoryBea  n.java:751)at org..beans.factory.support.Abstract  AutowireCapableBeanFactory.invokeInitMethods(Abstr  actAutowireCapableBeanFactory.java:1091)at org..beans.factory.support.Abstract  AutowireCapableBeanFactory.createBean(AbstractAuto  wireCapableBeanFactory.java:396)at org..beans.factory.support.Abstract  BeanFactory.getBean(AbstractBeanFactory.java:233)at org..beans.factory.support.Abstract  BeanFactory.getBean(AbstractBeanFactory.java:145)at org..beans.factory.support.DefaultL  istableBeanFactory.preInstantiateSingletons(Defaul  tListableBeanFactory.java:277)at org..context.support.AbstractApplic  ationContext.refresh(AbstractApplicationContext.ja  va:313)at org..context.support.ClassPathXmlAp  plicationContext.lt;initgt;(ClassPathXmlApplicationCon  text.java:87)at org..context.support.ClassPathXmlAp  plicationContext.lt;initgt;(ClassPathXmlApplicationCon  text.java:72)at org..context.support.ClassPathXmlAp  plicationContext.lt;initgt;(ClassPathXmlApplicationCon  text.java:63)at X1.main(Unknown Source)at sun.reflect.NativeMethodAccessorImpl.invoke0(Nativ  e Method)at sun.reflect.NativeMethodAccessorImpl.invoke(Native  MethodAccessorImpl.java:39)at sun.reflect.DelegatingMethodAccessorImpl.invoke(De  legatingMethodAccessorImpl.java:25)at java.lang.reflect.Method.invoke(Method.java:585)at org.apache.tools.ant.taskdefs.ExecuteJava.run(Exec  uteJava.java:202)at org.apache.tools.ant.taskdefs.ExecuteJava.execute(  ExecuteJava.java:134)at org.apache.tools.ant.taskdefs.Java.run(Java.java:7  10)at org.apache.tools.ant.taskdefs.Java.executeJava(Jav  a.java:178)at org.apache.tools.ant.taskdefs.Java.execute(Java.ja  va:84)at org.apache.tools.ant.UnknownElement.execute(Unknow  nElement.java:275)at org.apache.tools.ant.Task.perform(Task.java:364)at org.apache.tools.ant.Target.execute(Target.java:34  1)at org.apache.tools.ant.Target.performTasks(Target.ja  va:369)at org.apache.tools.ant.Project.executeSortedTargets(  Project.java:1216)at org.apache.tools.ant.Project.executeTarget(Project  .java:1185)at org.apache.tools.ant.helper.DefaultExecutor.execut  eTargets(DefaultExecutor.java:40)at org.apache.tools.ant.Project.executeTargets(Projec  t.java:1068)at org.apache.tools.ant.Main.runBuild(Main.java:668)at org.apache.tools.ant.Main.startAnt(Main.java:187)at org.apache.tools.ant.launch.Launcher.run(Launcher.  java:246)at org.apache.tools.ant.launch.Launcher.main(Launcher  .java:67)Caused by: java.lang.ClassNotFoundException: org.postgresql.Driverat org.apache.tools.ant.AntClassLoader.findClassInCom  ponents(AntClassLoader.java:1166)at org.apache.tools.ant.AntClassLoader.findClass(AntC  lassLoader.java:1107)at org.apache.tools.ant.AntClassLoader.loadClass(AntC  lassLoader.java:983)at java.lang.ClassLoader.loadClass(ClassLoader.java:2  51)at java.lang.ClassLoader.loadClassInternal(ClassLoade  r.java:319)at java.lang.Class.forName0(Native Method)at java.lang.Class.forName(Class.java:164)at org.apache.commons.dbcp.BasicDataSource.createData  Source(BasicDataSource.java:760)... 38 more2006-09-15 00:52:11,861 WARN Configurator:No configuration found. Configuring ehcache from ehcache-failsafe.xml found in the classpath: jar:file:/Users/lynx/Documents/work/hibernate-3.1/lib/ehcache-1.1.jar!/ehcache-failsafe.xml2006-09-15 00:52:13,194 WARN SQLErrorCodesFactory:Error while extracting database product name - falling back to empty error codesorg..jdbc.support.MetaDataAccessExc  eption: Could not get Connection for extracting meta data; nested exception is org..jdbc.CannotGetJdbcConnectionEx  ception: Could not get JDBC Connection; nested exception is org.apache.commons.dbcp.SQLNestedException: Cannot load JDBC driver class 'org.postgresql.Driver'org..jdbc.CannotGetJdbcConnectionEx  ception: Could not get JDBC Connection; nested exception is org.apache.commons.dbcp.SQLNestedException: Cannot load JDBC driver class 'org.postgresql.Driver'org.apache.commons.dbcp.SQLNestedException: Cannot load JDBC driver class 'org.postgresql.Driver'at org.apache.commons.dbcp.BasicDataSource.createData  Source(BasicDataSource.java:766)at org.apache.commons.dbcp.BasicDataSource.getConnect  ion(BasicDataSource.java:540)at org..jdbc.datasource.DataSourceUtil  s.doGetConnection(DataSourceUtils.java:112)at org..jdbc.datasource.DataSourceUtil  s.getConnection(DataSourceUtils.java:77)at org..jdbc.support.JdbcUtils.extract  DatabaseMetaData(JdbcUtils.java:167)at org..jdbc.support.JdbcUtils.extract  DatabaseMetaData(JdbcUtils.java:207)at org..jdbc.support.SQLErrorCodesFact  ory.getErrorCodes(SQLErrorCodesFactory.java:187)at org..jdbc.support.SQLErrorCodeSQLEx  ceptionTranslator.setDataSource(SQLErrorCodeSQLExc  eptionTranslator.java:126)at org..jdbc.support.SQLErrorCodeSQLEx  ceptionTranslator.lt;initgt;(SQLErrorCodeSQLExceptionT  ranslator.java:92)at org..orm.hibernate3.SessionFactoryU  tils.newJdbcExceptionTranslator(SessionFactoryUtil  s.java:133)at org..orm.hibernate3.HibernateAccess  or.getJdbcExceptionTranslator(HibernateAccessor.ja  va:235)at org..orm.hibernate3.HibernateTempla  te.getSession(HibernateTemplate.java:413)at org..orm.hibernate3.HibernateTempla  te.execute(HibernateTemplate.java:355)at org..orm.hibernate3.HibernateTempla  te.saveOrUpdate(HibernateTemplate.java:690)at AbstractSpringDao.saveOrUpdate(Unknown Source)at UserSpringDao.saveOrUpdate(Unknown Source)at X1.main(Unknown Source)at sun.reflect.NativeMethodAccessorImpl.invoke0(Nativ  e Method)at sun.reflect.NativeMethodAccessorImpl.invoke(Native  MethodAccessorImpl.java:39)at sun.reflect.DelegatingMethodAccessorImpl.invoke(De  legatingMethodAccessorImpl.java:25)at java.lang.reflect.Method.invoke(Method.java:585)at org.apache.tools.ant.taskdefs.ExecuteJava.run(Exec  uteJava.java:202)at org.apache.tools.ant.taskdefs.ExecuteJava.execute(  ExecuteJava.java:134)at org.apache.tools.ant.taskdefs.Java.run(Java.java:7  10)at org.apache.tools.ant.taskdefs.Java.executeJava(Jav  a.java:178)at org.apache.tools.ant.taskdefs.Java.execute(Java.ja  va:84)at org.apache.tools.ant.UnknownElement.execute(Unknow  nElement.java:275)at org.apache.tools.ant.Task.perform(Task.java:364)at org.apache.tools.ant.Target.execute(Target.java:34  1)at org.apache.tools.ant.Target.performTasks(Target.ja  va:369)at org.apache.tools.ant.Project.executeSortedTargets(  Project.java:1216)at org.apache.tools.ant.Project.executeTarget(Project  .java:1185)at org.apache.tools.ant.helper.DefaultExecutor.execut  eTargets(DefaultExecutor.java:40)at org.apache.tools.ant.Project.executeTargets(Projec  t.java:1068)at org.apache.tools.ant.Main.runBuild(Main.java:668)at org.apache.tools.ant.Main.startAnt(Main.java:187)at org.apache.tools.ant.launch.Launcher.run(Launcher.  java:246)at org.apache.tools.ant.launch.Launcher.main(Launcher  .java:67)Caused by: java.lang.ClassNotFoundException: org.postgresql.Driverat org.apache.tools.ant.AntClassLoader.findClassInCom  ponents(AntClassLoader.java:1166)at org.apache.tools.ant.AntClassLoader.findClass(AntC  lassLoader.java:1107)at org.apache.tools.ant.AntClassLoader.loadClass(AntC  lassLoader.java:983)at java.lang.ClassLoader.loadClass(ClassLoader.java:2  51)at java.lang.ClassLoader.loadClassInternal(ClassLoade  r.java:319)at java.lang.Class.forName0(Native Method)at java.lang.Class.forName(Class.java:164)at org.apache.commons.dbcp.BasicDataSource.createData  Source(BasicDataSource.java:760)... 37 more2006-09-15 00:52:13,350 WARN JDBCExceptionReporter:SQL Error: 0, SQLState: null2006-09-15 00:52:13,350 ERROR JDBCExceptionReporter:Cannot load JDBC driver class 'org.postgresql.Driver'2006-09-15 00:52:13,356 WARN JDBCExceptionReporter:SQL Error: 0, SQLState: null2006-09-15 00:52:13,357 ERROR JDBCExceptionReporter:Cannot load JDBC driver class 'org.postgresql.Driver'

BUILD FAILED
/Users/lynx/Documents/work/testing-2/build.xml:80: org..jdbc.UncategorizedSQLException  : Hibernate operation: Cannot open connection; uncategorized SQLException for SQL [???]; SQL state [null]; error code [0]; Cannot load JDBC driver class '
org.postgresql.Driver
'; nested exception is org.apache.commons.dbcp.SQLNestedException: Cannot load JDBC driver class '
org.postgresql.Driver
'

The problem is quite simple - the class driver cannot be found in the classpath. However, from the looks of the stacktrace is seems that the classname might involve some blanks and ' characters.
Make sure that when you specify your jdbcDriver class, no 'extra' characters are specified.

mons.dbcp.SQLNestedException: Cannot load JDBC driver class 'org.postgresql.Driver'
--------------- . ----------

Should the PostgreSQL jar be in an additional location other than quot;/Library/Java/Extensionsquot;? For example, should it be on my application class path or in the Hibernate or Spring directories?

Thanks!

Daniel.

Hey Daniel,Originally Posted by lynxShould the PostgreSQL jar be in an additional location other than quot;/Library/Java/Extensionsquot;? For example, should it be on my application class path or in the Hibernate or Spring directories?

In a web application, I always package the database jar(s) in the WEB-INF/lib directory. I have never actually used the Java extension mechanism...

-Arthur Loder

Hi Arthur,

As you suggested, the Java extension mechanism was not loading the PostgreSQL driver, so I added it to my class path, and it is working now!

Thanks a lot!

Daniel.
¥
Back Forum Reply New