无法使用 Play 框架连接到数据库

Posted

技术标签:

【中文标题】无法使用 Play 框架连接到数据库【英文标题】:Cannot connect to the database with Play framework 【发布时间】:2012-06-03 14:07:21 【问题描述】:

我正在建立一个带有游戏的网站!框架,我已经完成了内存数据库的编码和测试,一切都很好,所以我决定将代码推送到我的服务器。但是我遇到了一个奇怪的错误,它说“发生数据库错误:无法连接到数据库,未知数据库'fpn_server'”。

我确实更改了 conf 文件夹中的 application.conf 文件,我将 application.mode 设置为 prod(很确定这与数据库没有连接),将 db 属性设置为“mysql:root:mypass@fpn_server”,然后jpa.ddl 来“创建”以确保数据库已创建。

嗯,老实说,我开发了一个同名数据库的演示网站,并成功部署在我的服务器上。但是这一次,架构发生了变化,我没有像文档中所说的那样使用进化脚本,我只是从 mysql 服务器中删除了数据库。不太确定这是否是错误。

我已经在谷歌上搜索了一段时间,不好。

顺便说一句,我用的是玩 1.2.4 不是玩 2。

谁能帮助我?欢迎提出任何建议!

提前致谢。

【问题讨论】:

连接应该是这样的:db=mysql://user:pwd@host/database 这不是游戏风格连接字符串吧? 【参考方案1】:

您正在使用快捷方式 MYSQL5 配置,它看起来很好。但是,也许您应该尝试使用详细设置。

%production.db.url=jdbc:mysql://localhost/fpn_server
%production.db.driver=com.mysql.jdbc.Driver
%production.db.user=root
%production.db.pass=mypass

如果详细设置中有任何看起来错误的地方,这可能是您的快捷方式设置没有意义的原因。

如果配置看起来不错,我会检查您的数据库是否可以访问。

作为参考,这里是 application.conf 数据库选项 - http://www.playframework.org/documentation/1.2.4/configuration#dbconf

【讨论】:

设置很好,所以检查...您的数据库是可访问的,端口是标准端口,并且您的用户可以访问数据库...您的数据库名称或用户可能是罪魁祸首 最后,我解决了这个问题。首先,我在 mysql 服务器中手动创建了数据库,并将 jpa.ddl 设置为更新,它工作正常。如果不存在,“创建”选项不应该创建数据库吗?有什么想法吗?

以上是关于无法使用 Play 框架连接到数据库的主要内容,如果未能解决你的问题,请参考以下文章

无法使用 play-slick 1.0.1/slick 3.0 连接到 mysql 数据库:配置错误

无法使用 Play 框架解决依赖关系

连接到 Play 应用程序中嵌入的 HSQLDB 数据库

在 Synology DS218play 上,WordPress 无法连接到用户数据库,但 phpmyadmin 可以

即使 play.ap.db.DB 可以为同一个驱动程序执行此操作,也无法使用驱动程序连接到 Redshift 数据库

无法连接到 google play 服务