# MySQL Verbindung



## killingkind (15. Mai 2005)

Hallo,

kann mir jemand sagen warum ich mit meinem kleinen Script keine Verbindung zur MySQL-Datenbank aufbauen kann? Es wird immer die Meldung "Verbindung zur Datenbank konnte nicht hergestellt werden".

Vielen Dank schon mal.

import java.sql.*;

public class MySQLTest1 {

	public static void main( String[] args ) {
		// --- Variablen deklarieren ---
		String 	MySQL_User = "root",
				MySQL_Passwort = "",
				MySQL_Datenbank = "adressen"
		;
		// --- Variablen deklarieren ---

		// --- MySQL Treiber laden ---	
		try {
			Class.forName( "com.mysql.jdbc.Driver" );
			// System.out.println( "MySQL-Treiber geladen!" );	

		} catch( Exception e ) {
			System.out.println( "Der JDBC-Treiber fuer MySQL-Datenbanken "
			+ " konnte nicht geladen werden!" );
			System.exit( 1 );
		}
		// --- MySQL Treiber laden ---

		// --- Verbindung aufbauen
		Statement befehl = null;
		Connection verbindung = null;		
		try {
			verbindung = DriverManager.getConnection ( "jdbc:mysql://localhost:3306/" + MySQL_Datenbank, MySQL_User,
			MySQL_Passwort );
			befehl = verbindung.createStatement();
		} catch( Exception e ) {
			System.err.println( "Verbindung zur Datenbank konnte "
			+ "nicht hergestellt werden!" );
			System.exit( 1 );	
		}
		// --- Verbindung aufbauen

		// --- Daten auslesen
		try {
			ResultSet datenmenge;
			datenmenge = befehl.executeQuery( "SELECT * FROM tbl_personen" );	
			String 	sVorname,
					sNachname,
					sEmail,
					sTelefon
			;
			int i = 0;
			while( datenmenge.next() ) {
				i++;
				sVorname = datenmenge.getString( "vorname" );
				sNachname = datenmenge.getString( "nachname" );
				sEmail = datenmenge.getString( "email" );
				sTelefon = datenmenge.getString( "telefon" );
				System.out.println( i + "\t" + sNachname + ", " + sVorname + "\t" + sEmail + "\t" + sTelefon );	
			}
			verbindung.close();
		} catch( Exception e ) {
			e.printStackTrace();
		}
		// --- Daten auslesen
	}
}


----------



## Valentin- (15. Mai 2005)

Hast du PHP in der Vergangenheit gemacht?
Folgendes sowas:
 System.out.println( "Der JDBC-Treiber fuer MySQL-Datenbanken "
+ " konnte nicht geladen werden!" );

mach man nicht, es sieht zwar schön aus hilft einem aber nicht weiter.

```
catch( Exception e ) {
System.err.println( "Verbindung zur Datenbank konnte "
+ "nicht hergestellt werden!" );
System.exit( 1 );
}
```

ändere das mal in 

```
catch( Exception e ) {
System.err.println(e.getMessage() );
System.exit( 1 );
}{
```

dann melde dich mal wieder mit dem kompletten stacktrace.

gruß Valentin-


----------



## Thomas Darimont (15. Mai 2005)

Hallo!

Zu Debugzwekchen schreibst du das ganze besser noch so um:

```
catch( Exception e ) {
System.err.println(e.getMessage() );
System.exit( 1 );
}
```
in:

```
catch( Exception e ) {
e.printStackTrace();
System.exit( 1 );
}
```

Gruß Tom


----------



## killingkind (16. Mai 2005)

Danke für die schnelle Unterstützung,
hier nun die STACKTRACE Meldung:


```
MESSAGE: Unrecognized Windows Sockets error: 10106: create

STACKTRACE:

java.net.SocketException: Unrecognized Windows Sockets error: 10106: create
at java.net.Socket.createImpl<Socket.java:313)
at java.net.Socket.<init><Socket.java:286>
at java.net.Socket.<init></Socket.java:119)
at com.mysql.jdbc.StandardSocketFactory.connect(StandardSocketFactory.java:124)

at com.mysql.jdbc.MysqlIO.<init><MysqlIO.java:225>
at com.mysql.jdbc.Connection.createNewIO<Connection.java:1783>
at com.mysql.jdbc.Connection.<init><Connection.java:450>
at com.mysql.jdbc.NonRegisteringDriver.connect<NonRegisteringDriver.java:411)

at java.sql.DriverManager.getConnection<DriverManager.java:512>
at java.sql.DriverManager.getConnection<DriverManager.java:171>

** END NESTED EXCEPTION **
```

Kann mir jemand sagen woran es hier bei meinem Script liegt? Der Code ist wie im ersten Beitrag bis auf die Exception-Änderung der selbe.

Danke schon mal


----------

