当我在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>
知道怎么解决吗?
答案 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
包围,并记录任何异常。如果你没有得到例外,那么它工作正常。