Reputation: 5089
Has anyone gotten Grails working with Postgres? I have used this tutorial and everything seems to make sense and be correct to me. However when I 'grails run-app' I get this error
Cannot create JDBC driver of class 'org.postgresql.Driver' for connect URL 'jdbc:postgres://10.0.0.21/tribes'
java.sql.SQLException: No suitable driver
My DataSource file is
dataSource {
pooled = true
driverClassName = "org.postgresql.Driver"
dialect = org.hibernate.dialect.PostgreSQLDialect
}
hibernate {
cache.use_second_level_cache=true
cache.use_query_cache=true
cache.provider_class='com.opensymphony.oscache.hibernate.OSCacheProvider'
}
// environment specific settings
environments {
development {
dataSource {
dbCreate = "update"
url = "jdbc:postgres://10.0.0.21:5432/tribes"
username = "grails"
password = "grails"
}
}
test {
dataSource {
dbCreate = "update"
url = "jdbc:postgres://10.0.0.21:5432/tribes"
username = "grails"
password = "grails"
}
}
production {
dataSource {
dbCreate = "update"
url = "jdbc:postgres://10.0.0.21:5432/tribes"
username = "grails"
password = "grails"
}
}
}
Upvotes: 22
Views: 24810
Reputation: 7395
In the BuildConfig.groovy file uncomment the external maven repositories and then add this line
runtime 'postgresql:postgresql:9.0-801.jdbc4' in the dependencies section
Upvotes: 19
Reputation: 18206
From the FAQ: "[if] you get a runtime error that says 'No suitable driver found', it is likely that the URL passed to DriverManager.getConnection is malformed or otherwise incorrect". So what's wrong with yours? Well, the examples in the tutorial look like this:
jdbc:postgresql://localhost:5432/grails
Yours looks like this:
jdbc:postgres://10.0.0.21:5432/tribes
I'm guessing those missing two letters are causing your trouble.
Upvotes: 23