【问题标题】:How to initiate connection with JDBC on OpenShift?如何在 OpenShift 上启动与 JDBC 的连接?
【发布时间】:2014-04-25 11:27:41
【问题描述】:

当我在本地主机上工作时,为了启动与 JDBC 的连接,我这样做:

String USERNAME = "...";
String PASSWORD = "...";
String DB_NAME = "...";
String FORNAME_URL = "com.mysql.jdbc.Driver";
String URL = "jdbc:mysql://localhost";
Connection m_connection = DriverManager.getConnection(URL , USERNAME , PASSWORD);

但这在 OpenShift 上不起作用,没有建立连接。

我在 OpenShift 上运行它时看不到异常,但我验证了(我在 OpenShift 上检查了数据库,它没有用我的查询更新)连接未建立

知道如何解决吗?

【问题讨论】:

    标签: java tomcat jdbc redhat openshift


    【解决方案1】:

    这在 OpenShift 上不起作用,因为 OpenSHIft 公开了一组您必须在应用程序中使用的环境变量。您不能使用 localhost 等属性。请使用以下内容:

    String USERNAME = System.getEnv("OPENSHIFT_MYSQL_DB_USERNAME");
    String PASSWORD = System.getEnv("OPENSHIFT_MYSQL_DB_PASSWORD");
    String DB_NAME = System.getEnv("OPENSHIFT_APP_NAME");
    String FORNAME_URL = "com.mysql.jdbc.Driver";
    String URL = "jdbc:"+System.getEnv("OPENSHIFT_MYSQL_DB_URL")+ DB_NAME;
    Connection m_connection = DriverManager.getConnection(URL , USERNAME , PASSWORD);
    

    【讨论】:

      【解决方案2】:

      是什么让您认为您的连接代码不起作用?会不会是您的本地数据库默认设置了一些不同的选项(例如自动提交)而远程数据库没有?

      确保您的代码被 try/catch 包围,并记录任何异常。如果你没有得到异常,那么它工作正常。

      【讨论】:

      • 知道 OpenShift 上 Tomcat 的日志文件在哪里吗?我在那儿找不到。
      猜你喜欢
      • 2023-04-07
      • 1970-01-01
      • 1970-01-01
      • 2019-06-11
      • 2015-06-26
      • 2014-08-09
      • 2013-06-03
      • 1970-01-01
      • 2016-04-05
      相关资源
      最近更新 更多