Reputation: 1822
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?
Upvotes: 9
Views: 17259
Reputation: 924
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"
Upvotes: 40
Reputation: 2502
If you need SSL support:
db=postgres://user:password@server.example.net:5432/dbname?ssl=true&sslfactory=org.postgresql.ssl.NonValidatingFactory
Upvotes: 13
Reputation: 16439
The Play framework already includes the driver for Postgres. do the following:
Change your connection string to:
db=postgres://user:pwd@localhost:5432/yabe
This should solve the conflict you have.
Upvotes: 10
Reputation: 4694
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.
Upvotes: 3
Reputation: 140
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.
Upvotes: 6