如何在OpenShift上启动与JDBC的连接?

时间:2014-04-25 11:27:42

标签: java tomcat jdbc redhat openshift

当我在localhost上工作时,为了启动与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上的数据库,它没有更新我的查询)连接未建立< / p>

知道怎么解决吗?

2 个答案:

答案 0 :(得分: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);

答案 1 :(得分:0)

是什么让您认为您的连接代码无效?可能是你的本地数据库默认设置了一些不同的选项(比如autocommit),但远程的那个没有?

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