播放无法连接到(PostgreSQL)数据库[??默认]
我越来越
CreationException: Unable to create injector,see the following errors: 1) Error in custom provider,Configuration error: Configuration error[Cannot connect to database [default]] [...] 2) Error in custom provider,Configuration error: Configuration error[Cannot connect to database [default]] 最初我使用了与Play Framework应用程序一起工作的MySQL数据库,但是我想把它改成PostgreSQL,那就是问题开始出现的时候.我已经在我的Ubuntu计算机上安装了它们并更改了播放配置以使用Postgres(添加了“postgresql”%“postgresql”%“9.1-901-1.jdbc4”,以构建.sb并更改了db.default属性以引用Postgres ).确切的application.conf是: db.default.driver="org.postgresql.Driver" db.default.url="jdbc:postgres://localhost:5432/playdb" db.default.username="luka" db.default.password="test" 我已手动创建用户luka与密码测试和数据库playdb.我已经尝试过postgres用户也无济于事. 更让我感到困扰的是,MySQL现在无法使用相同的错误.我创建了一个新项目,只修改了conf中的db.default参数,它以同样的方式失败.注释掉application.conf会让它消失,所以这肯定是问题所在.我检查了PostgreSQL日志(/var/log/postgresql/postgresql-9.4-main.log),只有看起来不正确的行是[未知] @ [未知] LOG:启动数据包的长度无效.它出现多次,但不是每次我刷新项目(我甚至不确定它是否相关).我已经从我的电脑中删除了mysql-server,希望一切都能神奇地修复自己.它没有. 想法? 我正在使用Play 2. 4. 6和IntelliJ IDEA 15.使用Activator创建项目并将源导入IDEA(使用SBT模型). 编辑我将db.default.hikaricp.connectionTestQuery =“SELECT 1”添加到我的application.conf时也遇到错误.
所以,明确的答案是:
首先,数据库url中有一个错误,它应该是db.default.url =“jdbc:postgresql:// localhost:5432 / playdb”为chabeee pointed out.这是db.default.url唯一正确的格式(所以没有jdbc :postgresql://用户名:pasword:localhost / dbname或类似的,正如我在其他地方看到的那样建议). 第二,更棘手的是,驱动程序中有一个错误,因为Salem pointed out和解决方法是将db.default.hikaricp.connectionTestQuery =“SELECT 1”添加到application.conf. 我最后的application.conf: db.default.driver="org.postgresql.Driver" db.default.url="jdbc:postgresql://localhost/playdb" #the port is optional db.default.username="luka" db.default.password="test" 和build.sbt中的libraryDependencies: libraryDependencies ++= Seq( jdbc,"org.postgresql" % "postgresql" % "9.4-1206-jdbc42",cache,javaWs ) 2017年更新: (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |