托管在 Digital Ocean 中的应用程序的 MySQL JDBC 驱动程序连接字符串应该是啥?
Posted
技术标签:
【中文标题】托管在 Digital Ocean 中的应用程序的 MySQL JDBC 驱动程序连接字符串应该是啥?【英文标题】:What should be the MySQL JDBC driver connection string for application hosted in Digital Ocean?托管在 Digital Ocean 中的应用程序的 MySQL JDBC 驱动程序连接字符串应该是什么? 【发布时间】:2015-04-01 01:22:28 【问题描述】:我有一个托管在 Digital Ocean droplet (VPS) 中的 tomcat 7 服务器中的应用程序。
应用程序运行顺利。但它无论如何都没有连接到数据库。我认为我在开发应用程序时用于 localhost 的连接字符串根本没有帮助。它不应该
我想获取数字海洋 VPS 的连接字符串的具体示例。
如有任何帮助,我们将不胜感激。 提前致谢!
添加错误信息:
org.springframework.web.util.NestedServletException: 请求 处理失败;嵌套异常是 javax.persistence.PersistenceException: org.hibernate.exception.SQLGrammarException:无法提取 结果集 org.springframework.web.servlet.FrameworkServlet.processRequest(FrameworkServlet.java:965) org.springframework.web.servlet.FrameworkServlet.doGet(FrameworkServlet.java:844) javax.servlet.http.HttpServlet.service(HttpServlet.java:620) org.springframework.web.servlet.FrameworkServlet.service(FrameworkServlet.java:829) javax.servlet.http.HttpServlet.service(HttpServlet.java:727)
javax.persistence.PersistenceException: org.hibernate.exception.SQLGrammarException:无法提取 结果集
com.mysql.jdbc.exceptions.jdbc4.MySQLSyntaxErrorException: 表 'advocatoree.Employee' 不存在
【问题讨论】:
What is the MySQL JDBC driver connection string? 的可能重复项 我建议您为您的连接错误发布堆栈跟踪。 我说这不适用于本地主机。它用于部署在 Digital Ocean VPS 中。所以我不知道如何可能重复提到的问题。 问题已编辑。发布了我收到的错误消息。 您的错误表明您连接正常,但 表 'advocatoree.Employee' 不存在。我不知道信息如何更清晰。您正在尝试使用不存在的数据库表。 【参考方案1】:问题是因为我所有的模型类名称都大写。但我的数据库表不是。我在不区分大小写的 Windows 机器上开发了我的应用程序。但是 Linux 机器是区分大小写的。我重构了代码和数据库表,它工作了。
【讨论】:
【参考方案2】:但它无论如何都没有连接到数据库。
是的。它怎么会知道该表不存在?如果不成功创建Connection
,您将无法收到此错误。检查堆栈跟踪。
很明显,您已经在使用某些版本的 MySQL Connector for Java。
它的托管位置与使用哪个 JAR 文件的关系为零,而这反过来又与您获得的实际异常的明显关系为零。
【讨论】:
正如我之前所说,当应用程序在本地主机中运行时,我拥有包含所有表的确切数据库,这些表可以完美无缺地工作。 phpMyAdmin 正在显示数据库。如果应用程序真的连接到数据库服务器,它也应该获取表。以上是关于托管在 Digital Ocean 中的应用程序的 MySQL JDBC 驱动程序连接字符串应该是啥?的主要内容,如果未能解决你的问题,请参考以下文章
在没有负载均衡器的情况下,在 Digital Ocean 的托管 Kubernetes 上公开端口 80
我如何在 Digital Ocean 上上传我的 MEAN 应用程序(网站应用程序)?
如何将 Amazon Route 53 与 Digital Ocean 水滴一起使用?