[英]No suitable driver. Trying to connect to a postgresql database on Heroku using Hibernate
[英]Trying to connect postgresql heroku with play
我正在尝试将heroku postgresql与play框架(版本2.5.9)一起使用,但是它不起作用...
build.sbt
libraryDependencies ++= Seq(
javaJdbc,
cache,
javaWs,
javaJpa,
"org.webjars" % "bootstrap" % "2.3.1",
"org.hibernate" % "hibernate-entitymanager" % "5.2.3.Final",
"postgresql" % "postgresql" % "9.1-901-1.jdbc4"
)
conf / application.conf
ebean.default = ["models.*"]
db.default.driver=org.postgresql.Driver
db.default.url="postgres://ambpfzhcrpupmx:PeSnt07zQFVWKQrsqcRd1GzW6I@ec2-54-227-245-197.compute-1.amazonaws.com:5432/d4i5fck68498ce"
default.username = hereMyUserNameFromHeroku
default.password = "hereMyPassNameFromHeroku"
我得到: Caused by: org.postgresql.util.PSQLException: FATAL: no pg_hba.conf entry for host "78.192.102.83", user "ambpfzhcrpupmx", database "d4i5fck68498ce", SSL off
我不明白为什么...
我正在尝试在URL末尾添加“?ssl = true”,但它也无法正常工作...我得到: Caused by: sun.security.provider.certpath.SunCertPathBuilderException: unable to find valid certification path to requested target
有人可以帮助我吗? 谢谢 :)
首先,重置您的Postgres用户名和密码,因为您已经公开发布了它们,现在任何人都可以访问您的数据库。 运行以下命令:
$ heroku pg:credentials DATABASE --reset
然后根据Play Framework文档将conf/application.conf
更改为使用JDBC_DATABASE_URL
环境变量。
db.default.url=${?JDBC_DATABASE_URL}
db.default.username=${?JDBC_DATABASE_USERNAME}
db.default.password=${?JDBC_DATABASE_PASSWORD}
潜在的问题是您的数据库URL未启用SSL,并且您的Postgres JDBC依赖项太旧而无法自动打开。 我建议更新为:
"org.postgresql" % "postgresql" % "9.4.1211"
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.