Question

Im trying to use Postgresql with Play for their Yabe tutorial and get this error:

Cannot connected to the database, Driver not found (org.postgresql.Driver)

Here is my connection string:

# If you need a full JDBC configuration use the following :
 db.url=jdbc:postgresql:yabe
 db.driver=org.postgresql.Driver  
 db.user=yabe
 db.pass=yabe
#
# Connections pool configuration :
 db.pool.timeout=1000
 db.pool.maxSize=30
 db.pool.minSize=1

In my lib folder I have this: postgresql-9.1-901.jdbc3.jar

I tried changing the driver name to the same name is tha jar but still get the same error. Any ideas?

Was it helpful?

Solution

The Play framework already includes the driver for Postgres. do the following:

  • Remove any reference to postgreSQL drivers from your dependencies.yml files
  • Do a "play deps --sync"
  • Remove any jar in your lib/ folder related to postgreSQL drivers
  • Change your connection string to:

    db=postgres://user:pwd@localhost:5432/yabe

This should solve the conflict you have.

OTHER TIPS

If you are using Play 2.0 this works slightly differently. The url actually looks like this:

db.default.driver=org.postgresql.Driver
db.default.url="postgres://user:password@servername/dataBaseName"

But this will also error out unless you add the following lines to you dependencies section in build.scala or build.java:

"postgresql" % "postgresql" % "9.1-901.jdbc4"

If you need SSL support:

db=postgres://user:password@server.example.net:5432/dbname?ssl=true&sslfactory=org.postgresql.ssl.NonValidatingFactory

You don't need to edit a full JDBC configuration. I use postgesql in local and I just add this line in application.conf file in conf folder :

# To connect to a local PostgreSQL9 database, use:
db=postgres://userName:yourPassword@localhost:5432/nameOfYourDB

If you are in local, userName is often postgres unless you changed it.

You should copy PostgresSql driver version "JDBC 4" [What you have is JDBC 3]. Get it from here

Alternatively you may use - postgresql 9.1-901.jdbc4 in your dependencies. But I think Maven doesn't have this latest version yet.

Licensed under: CC-BY-SA with attribution
Not affiliated with StackOverflow
scroll top