2014-04-25 3 views
0

내가 JDBC와 연결을 시작하기 위해, 내 로컬 호스트에서 작동, 내가 이렇게 :OpenShift에서 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에서 DB를 확인한 결과 내 쿼리로 업데이트되지 않았습니다).

어떻게 고칠 수 있습니까?

답변

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); 
0

연결 코드가 작동하지 않는다고 생각하는 이유는 무엇입니까? 로컬 데이터베이스에 기본적으로 (자동 커밋과 같은) 다른 옵션이 설정되어있을 수 있지만 원격 데이터베이스는 그렇지 않을 수 있습니까?

코드가 try/catch으로 둘러싸여 있고 예외가 기록되어 있는지 확인하십시오. 예외가 없다면 문제가 없습니다.

+0

OpenShift에서 Tomcat의 로그 파일은 어디에 있습니까? 나는 그것을 거기에서 발견 할 수 없다. – ron

+0

rhc tail 명령을 실행하여 로그 파일을 볼 수 있습니다. – Shekhar

관련 문제