当前位置: 首页 > 知识库问答 >
问题:

OpenShift应用程序无法连接到MySQL:JDBCConnectionException:无法打开连接

宦翔飞
2023-03-14

我生成了一个。我的SpringMVC Maven Hibernate MySQL应用程序的war文件,该应用程序在本地主机和本地MySQL数据库上运行良好。我配置数据库的方式是通过WebAppConfig。查看应用程序的java文件。属性文件并检索适当的信息。

然后我创建了一个OpenShift帐户并部署了它。war文件。我添加了MySQL和PHPMyAdmin盒带,以便维护数据库。当我试图通过我的应用程序检索信息或推送到数据库时,我收到了这个错误。

HTTP状态500-请求处理失败;嵌套异常为org。springframework。交易CannotCreateTransactionException:无法打开事务的Hibernate会话;嵌套异常为org。冬眠例外JDBCConnectionException:无法打开连接

消息请求处理失败;嵌套异常org.springframework.transaction.无法创建事务的Hibernate会话;嵌套异常org.hibernate.exception.JDBCConnectionException:无法打开连接

例外组织。springframework。网状物util。NestedServletException:请求处理失败;嵌套异常为org。springframework。交易CannotCreateTransactionException:无法打开事务的Hibernate会话;嵌套异常为org。冬眠例外JDBCConnectionException:无法打开连接组织。springframework。网状物servlet。FrameworkServlet。processRequest(FrameworkServlet.java:948)org。springframework。网状物servlet。FrameworkServlet。doPost(FrameworkServlet.java:838)javax。servlet。http。HttpServlet。服务(HttpServlet.java:641)组织。springframework。网状物servlet。FrameworkServlet。服务(FrameworkServlet.java:812)javax。servlet。http。HttpServlet。服务(HttpServlet.java:722)

我已经在属性文件中为我的数据库添加了适当的信息,所以我认为这不是问题所在。

application.properties

#DB
db.driver = com.mysql.jdbc.Driver
db.url = jdbc:mysql://{OPENSHIFT_MYSQL_DB_HOST}:{OPENSHIFT_MYSQL_DB_PORT}/springmvc
db.username = {OPENSHIFT_MYSQL_DB_USERNAME}
db.password = {OPENSHIFT_MYSQL_DB_PASSWORD}

#Hibernate
hibernate.dialect = org.hibernate.dialect.MySQL5InnoDBDialect
hibernate.show_sql = true
entitymanager.packages.to.scan = org.example.app.model
hibernate.cache.provider_class = org.hibernate.cache.NoCacheProvider

注意:在我的实际代码中,我有实际的OPENSHIFT\u MYSQL\u DB\u主机和OPENSHIFT\u MYSQL\u DB\u端口值,而不是那些占位符!

共有3个答案

司徒隐水
2023-03-14

感谢您在我们的论坛上发帖:
https://www.openshift.com/forums/openshift/openshift-app-cant-connect-to-mysql-jdbcconnectionexception-could-not-open

看起来您需要使用:
db。用户名={OPENSHIFT\u MYSQL\u DB\u username}DB。密码={OPENSHIFT\u MYSQL\u DB\u password}

而不是:db。用户名=根数据库。密码=通过

夏侯野
2023-03-14

确保mysql墨盒已启动并运行;如果需要,请尝试重新启动它。否则,请发布您的属性文件。此外,请阅读以下线程,它可能会有所帮助:

https://www.openshift.com/forums/openshift/hibernate-mysql-connection-failinghttps://www.openshift.com/forums/openshift/mysql-db-stops-responding-after-some-time

董和泽
2023-03-14

我忘了回答这个问题。

我只想再次澄清,使用“OPENSHIFT”变量而不是将ACUTAL值放在application.properties解决了问题。

db。url=jdbc:mysql://${OPENSHIFT\u DB\u HOST}:${OPENSHIFT\u DB\u PORT}/${OPENSHIFT\u APP\u NAME}

db.username=${OPENSHIFT_MYSQL_DB_USERNAME}

db。密码=${OPENSHIFT\u MYSQL\u DB\u password}

 类似资料:
  • 我正在用mssql数据库开发一个java Spring Hibernate应用程序。但是我无法与mssql数据库建立连接。 [请求处理失败;嵌套异常为org.springframework.transaction.CanNotCreateTransactionException:无法打开事务的Hibernate会话;嵌套异常为org.Hibernate.exception.GenericJDBcE

  • 我正在使用spring hibernate开发一个应用程序,如果我使用的是199.892.2.345这样的数据库,我就可以连接到该数据库并执行cud操作,但是如果我将其更改为spring config中的Vinayaka.cloudapp.net,111这样的云数据库,我会得到下面的错误,下面是我正在使用的spring config文件, 错误

  • 我是Harold,我是Openshift的新手,我使用下面的代码通过这里的示例用java连接到MySQLhttps://www.openshift.com/forums/openshift/no-suitable-driver-found-error, 不幸的是,我没能成功。 起初,它说“找不到合适的驱动程序”,所以我将mysql连接器添加到WEB-INF/lib文件夹并添加类。forName(“

  • 我在设置打开班次时遇到问题,并在连接到我的服务器域后收到以下错误: 我不确定这是在告诉我做什么。我尝试按字面意思使用指令,但它无法识别命令。 有什么想法吗?

  • 我有一个 Spring 引导项目,其中我使用 spring-boot-starter-actuator 和 io.dropwizard.metrics。 它生成我可以使用 url http://myapplication/metrics 访问的指标。我将应用程序部署在 Wildfly 10 独立服务器上。 我想使用jmx读取jconsole上的指标。我将应用程序配置为使用JMXReporter发送

  • 我是Django的新手。我已经创建了一个名为,它在浏览器和邮递员应用程序中都能完美运行。 然而,当我试图从Android应用程序访问API时,它返回NULL。 当API如下所示时,android代码可以工作。 但是,当API为以下API时,它不起作用,即使以下API在同一台PC上运行的浏览器和Postman应用程序中运行良好。 我将代码附加到进行API调用的地方。 有人能帮我吗?提前感谢。