Mysql
 sql >> Datenbank >  >> RDS >> Mysql

Verbindungsklasse kann wegen zugrunde liegender Ausnahme nicht geladen werden:„java.lang.NumberFormatException:For input string:OPENSHIFT_MYSQL_DB_PORT“

das Problem liegt an dieser Zeile

String host = "jdbc:mysql://$OPENSHIFT_MYSQL_DB_HOST:OPENSHIFT_MYSQL_DB_PORT/serverside";

Um die Umgebungsvariable zu erhalten, müssen Sie die Methode System.getEnv().get("[the variable name]") verwenden . In Ihrem Fall sollte die Host-Variable also so aussehen

String host = "jdbc:mysql://" 
              + System.getenv().get("OPENSHIFT_MYSQL_DB_HOST") 
              + ":" 
              + System.getenv().get("OPENSHIFT_MYSQL_DB_PORT") 
              + "/serverside";

Übrigens funktioniert Ihre Bearbeitung nicht, da die Anwendung bereits eine Ausnahme auslöst, bevor sie den Code ausführt. damit es funktioniert, müssen Sie es before setzen der DriverManager.getConnection() Funktion.