# Problem mit MYSQL Verbindung



## Malchow (17. Jun 2007)

Hallo!

Ich bin noch ein Java-Neuling und ich weiß das DB´s eigentlich viel zu kompliziert sind aber ich würde gern ein Programm schreiben das auf meine MySQL DB zugreifen kann die online ist.

Hab die Verbindung folgendermaßen geschrieben:


```
import java.net.*;
import java.sql.*;

public class Mysql {

    public static void main(String[] args) {

		Connection conn;

       try
	   {
	       Class.forName("org.gjt.mm.mysql.Driver");
	   }
	   catch(ClassNotFoundException cnfe)
	   {
	       System.out.println("Treiber kann nicht geladen werden: "+cnfe.getMessage());
		}

        try
		{
		   conn = DriverManager.getConnection("jdbc:mysql://" + "zinsmailer.de" + ":" + "3306" + "/" + "***", "***", "***");
		}
		catch(SQLException sqle)
		{
		    System.out.println("Verbindung ist fehlgeschlagen: " + sqle.getMessage());
		}
		if (conn != null)
		{
		    try
		    {
		        conn.close();
		    }
		    catch(SQLException sqle)
		    {
		        System.out.print(sqle.getMessage());
		    }
		}
	}
}
```

Dabei erhalte ich die Fehlermeldung:


```
C:\Dokumente und Einstellungen\maddin\Desktop\mysql-connector-java-3.1.14\Mysql.java:27: variable conn might not have been initialized
		if (conn != null)
                    ^
1 error

Prozess beendet mit Exit-Code 1
```

Was kann ich tun?


----------



## Ellie (17. Jun 2007)

Na eben die Connection gleich beim Deklarieren initialisieren und in Zeile Acht 

```
Connection conn = null;
```
schreiben.


----------



## Malchow (17. Jun 2007)

Nun bekomm ich beim Ausführen den Fehler:


```
Treiber kann nicht geladen werden: org.gjt.mm.mysql.Driver
Verbindung ist fehlgeschlagen: No suitable driver
```


----------



## Ellie (17. Jun 2007)

1. Ist der Treiber sicher im Classpath?
2. Hier wurde derselbe Fehler behandelt: http://www.java-forum.org/de/topic50996_das-tolle-no-suitable-driver-found.html
Vielleicht hilft's dir ja.


----------



## Malchow (17. Jun 2007)

Also ich hab die Datei mysql-connector-java-5.1.0-bin.jar auch in dem Ordner wo die class Datei Mysql.class liegt.

Nun noch eine Frage was muss ich hier einstellen:


```
conn = DriverManager.getConnection("jdbc:mysql://" + "localhost" + "" + "" + "/" + "usr_web8_1", "web8", "martin12");
```

wenn es kein lokaler server sondern ein server ist der online ist?


----------



## Malchow (17. Jun 2007)

Es wird jetzt eine Verbindungf aufgebaut, nachdem ich den Tip mit dem Einfügen in den JDK-Ordner wahrgenommen habe, aber wie kann ich jetzt zum Server verbinden, lokal ist ja kein Problem!?


----------



## Malchow (17. Jun 2007)

Ich denk der normale Text ist jetzt ok!

Allerdings bekomme ich den Fehler:


```
Verbindung ist fehlgeschlagen: null,  message from server: "#HY000Host 'dslb-088-072-254-153.pools.arcor-ip.net' is not allowed to connect to this MySQL server"
```

Mein Quellcode siht jetzt so aus:


```
import java.net.*;
import java.sql.*;

public class Mysql {

    public static void main(String[] args) {

		Connection conn = null;

       try
	   {
	       Class.forName("org.gjt.mm.mysql.Driver");
	   }
	   catch(ClassNotFoundException cnfe)
	   {
	       System.out.println("Treiber kann nicht geladen werden: "+cnfe.getMessage());
		}

        try
		{
		   conn = DriverManager.getConnection("jdbc:mysql://" + "zinsmailer.de" + ":" + "3306" + "/" + "***", "***", "***");
		}
		catch(SQLException sqle)
		{
		    System.out.println("Verbindung ist fehlgeschlagen: " + sqle.getMessage());
		}

		if (conn != null)
		{
		    try
		    {
		        conn.close();
		    }
		    catch(SQLException sqle)
		    {
		        System.out.print(sqle.getMessage());
		    }
		}
	}
}
```

Anstelle der * stehen natürlich die richtigen Daten


----------



## masta // thomas (17. Jun 2007)

Externer zugriff auf die Datenbank ist scheinbar nicht erlaubt - was bei den meisten Webhosting Providern der Fall ist.
Umgehen kannst du das - wenn du keine Root Rechte hast - über ein SSH Tunnel: http://www.tsunamihost.ch/hosting/faq/mysql/zugriff_von_aussen.php


----------

