# Verbindungsaufbau zu MySql Datenbank nicht möglich



## Siroco (6. Feb 2014)

Hallo, ich arbeite zur Zeit an meiner Diplomarbeit und kann neuerdings keine Verbindung mehr zur Datenbank herstellen (diese liegt am Schul Server), obwohl es vor ein paar Monaten noch problemlos funktionierte.
Habe schon meine Firewall deaktivert, MySql.jar erneuert, Passwort kontrolliert, alles erfolglos. 
Bei meinen 2 Kollegen funktioniert auch nichts mehr.
Einloggen über den Browser geht, die 2. DB die wir in Verwendung haben geht auch (allerdings http://main.andromeda.htl-hl.ac.at/)

Hier der Code:

```
public boolean[] rightsArray(String UserID){
		for (int i=0; i< rights.length; i++){
			rights[i] = false;
		}
		try {
			Class.forName("com.mysql.jdbc.Driver");		
		}
		
		catch (ClassNotFoundException ex) {
			System.out.println(ex.getMessage() + "\n Class.forName ging schief");
			ex.printStackTrace();
		}
		System.out.println("****Connection***successfull*****");
			
		String url;
				
		String dbName = "erzeugnisse";
		String con_str = "//xampp.web1.htl-hl.ac.at:3306/" + dbName;
				
		url = "jdbc:mysql:" + con_str;
			
		Connection con = null;
			try {
				con = DriverManager.getConnection (url, "erzeugnisse", "***"); //hier wird der Fehler angezeigt!!!
				Statement stmt = con.createStatement();
				
				String query = "select *from tbl_rechte_zuordnung where ID_User like '"+ UserID+"'";
				ResultSet rs = stmt.executeQuery(query);
				while(rs.next()){
					System.out.println("ID_RECHT: " + rs.getInt("ID_Recht"));
					rights[rs.getInt("ID_Recht")-1] = true;
				}

				rs.close();
				stmt.close();
				con.close();
				
			}catch (SQLException ex){
				JOptionPane.showMessageDialog(null, ex);
				System.out.println("SQLException: " + ex.getMessage());
				System.out.println("SQL-State: " + ex.getSQLState());
				System.out.println("SQL-ErrorCode: " + ex.getErrorCode());
				ex.printStackTrace();
			}
			return rights;
	}//rightsArray
```

Fehler-Meldung:

```
SQLException: Communications link failure due to underlying exception: 

** BEGIN NESTED EXCEPTION ** 

java.net.ConnectException
MESSAGE: Connection timed out: connect

STACKTRACE:

java.net.ConnectException: Connection timed out: connect
	at java.net.PlainSocketImpl.socketConnect(Native Method)
	at java.net.PlainSocketImpl.doConnect(Unknown Source)
	at java.net.PlainSocketImpl.connectToAddress(Unknown Source)
	at java.net.PlainSocketImpl.connect(Unknown Source)
	at java.net.SocksSocketImpl.connect(Unknown Source)
	at java.net.Socket.connect(Unknown Source)
	at java.net.Socket.connect(Unknown Source)
	at java.net.Socket.<init>(Unknown Source)
	at java.net.Socket.<init>(Unknown Source)
	at com.mysql.jdbc.StandardSocketFactory.connect(StandardSocketFactory.java:256)
	at com.mysql.jdbc.MysqlIO.<init>(MysqlIO.java:271)
	at com.mysql.jdbc.Connection.createNewIO(Connection.java:2771)
	at com.mysql.jdbc.Connection.<init>(Connection.java:1555)
	at com.mysql.jdbc.NonRegisteringDriver.connect(NonRegisteringDriver.java:285)
	at java.sql.DriverManager.getConnection(Unknown Source)
	at java.sql.DriverManager.getConnection(Unknown Source)
	at UserRechte.rightsArray(UserRechte.java:46)
	at GUI.<init>(GUI.java:68)
	at JStartFrame$1.run(JStartFrame.java:11)
	at java.awt.event.InvocationEvent.dispatch(Unknown Source)
	at java.awt.EventQueue.dispatchEvent(Unknown Source)
	at java.awt.EventDispatchThread.pumpOneEventForFilters(Unknown Source)
	at java.awt.EventDispatchThread.pumpEventsForFilter(Unknown Source)
	at java.awt.EventDispatchThread.pumpEventsForHierarchy(Unknown Source)
	at java.awt.EventDispatchThread.pumpEvents(Unknown Source)
	at java.awt.EventDispatchThread.pumpEvents(Unknown Source)
	at java.awt.EventDispatchThread.run(Unknown Source)


** END NESTED EXCEPTION **

Last packet sent to the server was 0 ms ago.
SQL-State: 08S01
SQL-ErrorCode: 0
```

Ich glaube das der Fehler nicht am Programm sondern serverseitig liegt, jedoch kenne ich mich da nicht wirklich aus. Zwar bat ich meinen Lehrer nachzusehen, scheinbar ist er andersweitig beschäftigt.
Vielleicht weiß jemand von euch um Rat.

Lg Siroco


----------



## Pumping Lemma (7. Feb 2014)

Prüfen:

1) IP address oder hostname in JDBC URL falsch?
2)Hostname in JDBC URL wird vom localen DNS nicht erkannt
3)Port Nummer ist falsch (JDBC URL)
4)DB server is down.
5) DB server akzepiert die TCP/IP Verbindung nicht mehr.
oder Java und DB blocken Verbindung , ( firewall or proxy)

mehr würde mir nicht einfallen.

grüße


----------



## Siroco (7. Feb 2014)

Danke für die rasche Antwort,

werde das nächste Wochen checken.

Lg


----------



## Siroco (17. Feb 2014)

Problem gelöst:

Auf der Server-Firewall war der MySql Port (3306) gelöscht :autsch:

Thema kann geclosed werden.


----------

