Re: No suitable driver found - Mailing list pgsql-jdbc
From | John Dunlap |
---|---|
Subject | Re: No suitable driver found |
Date | |
Msg-id | 4A6DCE4D.4010504@exceter.com Whole thread Raw |
In response to | Re: No suitable driver found ("Albe Laurenz" <laurenz.albe@wien.gv.at>) |
Responses |
Re: No suitable driver found
|
List | pgsql-jdbc |
This is my hibernate configuration (minus my entity definitions). You'll notice that the MySQL section has been commented out. If I uncomment the mysql config and comment out the postgresql config, hibernate generates the database schema perfectly. <?xml version="1.0" encoding="UTF-8"?> <!DOCTYPE hibernate-configuration PUBLIC "-//Hibernate/Hibernate Configuration DTD 3.0//EN" "http://hibernate.sourceforge.net/hibernate-configuration-3.0.dtd"> <hibernate-configuration> <session-factory> <property name="hibernate.show_sql">false</property> <property name="hibernate.format_sql">false</property> <property name="use_sql_comments">false</property> <property name="hibernate.current_session_context_class">org.hibernate.context.ThreadLocalSessionContext</property> <property name="hibernate.connection.driver_class">org.postgresql.Driver</property> <property name="hibernate.connection.url">jdbc:postgresql://localhost:5432/mydatabase</property> <property name="hibernate.connection.username">myusername</property> <property name="hibernate.connection.password">mypasswrd</property> <property name="hibernate.dialect">org.hibernate.dialect.PostgreSQLDialect</property> <!-- <property name="hibernate.connection.driver_class">com.mysql.jdbc.Driver</property> <property name="hibernate.connection.url">jdbc:mysql://localhost:3306/mydatabase</property> <property name="hibernate.connection.username">myusername</property> <property name="hibernate.connection.password">mypasswrd</property> <property name="hibernate.dialect">org.hibernate.dialect.MySQL5InnoDBDialect</property> --> </session-factory> </hibernate-configuration> If I comment out the mysql confg and uncomment the postgresql config, the schema generation fails with the following stack trace. As you can see, I am fully qualifying the driver class as "org.postgresql.Driver" and I can assure you that postgresql-8.3-603.jdbc4.jar is in my classpath (I can see it in eclipse under Maven Dependencies). 11:09:45,533 INFO org.hibernate.tool.hbm2ddl.SchemaExport - Running hbm2ddl schema export 11:09:45,535 INFO org.hibernate.tool.hbm2ddl.SchemaExport - exporting generated schema to database 11:09:45,538 INFO org.hibernate.connection.DriverManagerConnectionProvider - Using Hibernate built-in connection pool (not for production use!) 11:09:45,538 INFO org.hibernate.connection.DriverManagerConnectionProvider - Hibernate connection pool size: 20 11:09:45,538 INFO org.hibernate.connection.DriverManagerConnectionProvider - autocommit mode: false 11:09:45,540 INFO org.hibernate.connection.DriverManagerConnectionProvider - using driver: org.postgresql.Driver at URL: jdbc:postgresql://localhost:5432/mydatabase 11:09:45,540 INFO org.hibernate.connection.DriverManagerConnectionProvider - connection properties: {user=myusername, password=****} 11:09:45,555 ERROR org.hibernate.tool.hbm2ddl.SchemaExport - schema export unsuccessful java.sql.SQLException: No suitable driver found for jdbc:postgresql://localhost:5432/mydatabase 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.tool.hbm2ddl.ManagedProviderConnectionHelper.prepare(ManagedProviderConnectionHelper.java:52) at org.hibernate.tool.hbm2ddl.SchemaExport.execute(SchemaExport.java:252) at org.hibernate.tool.hbm2ddl.SchemaExport.create(SchemaExport.java:211) at org.codehaus.mojo.hibernate3.exporter.Hbm2DDLExporterMojo.doExecute(Hbm2DDLExporterMojo.java:112) at org.codehaus.mojo.hibernate3.HibernateExporterMojo.execute(HibernateExporterMojo.java:152) at org.apache.maven.plugin.DefaultPluginManager.executeMojo(DefaultPluginManager.java:579) at org.apache.maven.lifecycle.DefaultLifecycleExecutor.executeGoalAndHandleFailures(DefaultLifecycleExecutor.java:498) at org.apache.maven.lifecycle.DefaultLifecycleExecutor.executeTaskSegmentForProject(DefaultLifecycleExecutor.java:265) at org.apache.maven.lifecycle.DefaultLifecycleExecutor.executeTaskSegments(DefaultLifecycleExecutor.java:191) at org.apache.maven.lifecycle.DefaultLifecycleExecutor.execute(DefaultLifecycleExecutor.java:149) at org.apache.maven.DefaultMaven.execute_aroundBody0(DefaultMaven.java:223) at org.apache.maven.DefaultMaven.execute_aroundBody1$advice(DefaultMaven.java:304) at org.apache.maven.DefaultMaven.execute(DefaultMaven.java:1) at org.apache.maven.embedder.MavenEmbedder.execute_aroundBody2(MavenEmbedder.java:904) at org.apache.maven.embedder.MavenEmbedder.execute_aroundBody3$advice(MavenEmbedder.java:304) at org.apache.maven.embedder.MavenEmbedder.execute(MavenEmbedder.java:1) at org.apache.maven.cli.MavenCli.doMain(MavenCli.java:176) at org.apache.maven.cli.MavenCli.main(MavenCli.java:63) at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39) at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25) at java.lang.reflect.Method.invoke(Method.java:597) at org.codehaus.plexus.classworlds.launcher.Launcher.launchEnhanced(Launcher.java:289) at org.codehaus.plexus.classworlds.launcher.Launcher.launch(Launcher.java:229) at org.codehaus.plexus.classworlds.launcher.Launcher.mainWithExitCode(Launcher.java:408) at org.codehaus.plexus.classworlds.launcher.Launcher.main(Launcher.java:351) at org.codehaus.classworlds.Launcher.main(Launcher.java:31) Like I said in my last email. I've done this with many other databases in the past and this is the first database I've seen this error with (although I've seen a lot of other issues). Albe Laurenz wrote: > John Dunlap wrote: > > >> I've been looking for a solution to this error for a few days now. >> Everything I've found says that the problem should be that I have a >> malformed url but I've gone over it dozens of times and I don't think >> that it's wrong (I wish it was). I'm trying to use hibernate tools to >> generate my database schema through the JDBC driver. >> >> I'm getting the following stack trace, >> java.sql.SQLException: No suitable driver found for >> jdbc:postgresql://localhost:5432/mydatabase >> at java.sql.DriverManager.getConnection(DriverManager.java:602) >> > [...] > > I don't know anything about Hibernate, but this error suggests that > the system does not know the PostgreSQL JDBC driver. > > There are several ways to register it: > - Use the class org.postgresql.Driver, for example with the statement > Class.forName("org.postgresql.Driver"); > > - Start the Java Virtual Machine with the flag > -Djdbc.drivers=org.postgresql.Driver > > You'll probably have to figure out how to do that in Hibernate, > but it should work exactly as with other JDBC drivers. > > Yours, > Laurenz Albe >
pgsql-jdbc by date: