2015-01-05 44 views
2

我正在通過使用mysql作爲後端工作在openshift tomcat項目上我試圖連接數據庫,它沒有連接並顯示錯誤消息「通信鏈路故障最後一個數據包發送到服務器是0毫秒前」我已經使用這個代碼無法從tomcat項目連接OpenShift MySql

try{ 
      Class.forName("com.mysql.jdbc.Driver"); 
      }catch(ClassNotFoundException ex){ 
       //return(ex.getMessage());    
      } 
      con = DriverManager.getConnection(MYSQL_DATABASE_HOST,MYSQL_USERNAME,MYSQL_PASSWORD); 

     } catch (Exception ex) { 

      return(ex.getMessage()); 
     } 
     return "success"; 

我已經通過硬編碼數據庫的IP和端口提供的數據庫URL連接的數據庫,當我打印System.getenv(‘OPENSHIFT_MYSQL_DB_HOST’);我得到空值。請告訴我任何人的錯誤

+2

你能檢查你的裝備的環境變量?使用ssh連接,然後:env | grep OPENSHIFT_MYSQL_DB_HOST –

+0

請問您可以擴展您的答案嗎?請分享任何演示鏈接或文檔 – droidev

+1

檢查此鏈接以瞭解如何訪問您的設備:https://developers.openshift.com/en/managing-remote- connection.html之後,從控制檯執行:env | grep OPENSHIFT_MYSQL_DB_HOST –

回答

0

當你的java代碼無法連接到MySQL服務器時,你正面臨的問題。還有一種方法,檢查你的MySQL是否啓動並運行。您可以通過

rhc port-forward -a <mysql_gear_name> 

讓你的MySQL服務器的IP然後,您可以明確地給出該IP在DriverManager.getConnection

+1

我會檢查這個 – droidev

0

從命令行運行RHC端口轉發來直接訪問數據庫或內部端口。

如:

rhc port-forward -a <name of the gear including mysql db>