Datanbank - Wie kann ich den externen MySQL Treiber angeben ?

NetPerformance

Erfahrenes Mitglied
Hallo

Ich versuche verzweifelt dem lokalen MySQL Server zu connecten.
Laut Fehlermeldung wird der Treiber nicht gefunden.

Ich habe Links auf mein java Projekt geklickt. Anschließend auf die Eigenschaften und habe unter Java Buid Path -> Add External JAR den Treiber eingefügt.

http://www.netperformance.de/test/mysql2.jpg

Sobald ich innerhalb von Eclipse auf den Fehler: java.sql.SQLException: No suitable driver klicke, taucht ein neues Fenster auf. Quelltext ist auf dem Screenshot zu sehen.

http://www.netperformance.de/test/mysql1.jpg

Was mache ich hier falsch ? Mir ist nicht klar, wie ich auf den externen Treiber zugreifen muss.


Gruß und Dank im Vorraus
Aaron
 
Hm .. also ich sehe da auch keinen Fehler. Bei deinem SELECT Statement fehlt ein "E" aber daran liegts bestimmt nicht ..

Gruß Stefan
 
Hallo!

Weshalb entwicklest du denn in der Resource Perspective? Mach mal Window -> Open Perspective -> Java...
Weiterhin sollte der Eintrag des MySQL JDBC Treibers in den Project Preferences schon korrekt sein. Startest du auch das richtige Projekt? (In der Java Perspective entsprechende Java Klasse anklicken -> Kontext Menu > Run as -> java Application)

Gruß Tom
 
Hi,

Es könnte auch daran liegen, dass Du nicht den richtigen Treiber zu Deiner MySQL Datenbank verwendest.

Soweit ich weiß wurde zwischen 4.1 und 5.0 etwas merkliches am Treiber verändert, welches auch zu einem solchen Fehler führen kann.

Gruß

Romsl
 
Danke für die schnelle Antwort ...

@Thomas Darimont: Ich kann mit der anderen Ansicht nicht viel anfangen .. Ich sehe meine Ordnerstruktur in Open Perspective Ansicht nicht.

Die Klasse habe ich Run as->java Application ausgeführt.

@Romsi: Ich benutze den gleichen Treiber für JDeveloper.. dort kann ich ohne Probleme Connecten.

mmmhh...

Gruß
Aaron
 
Hallo!

Ich kann mit der anderen Ansicht nicht viel anfangen .. Ich sehe meine Ordnerstruktur in Open Perspective Ansicht nicht.
Dann würde ich mich an deiner Stelle aber schleunigst mal umgewöhnen und in Zukunft die Java Perspective verwenden. In der Resource Perspektive hast du ja kaum JDT (Java Development Tools) Support...da könntest du fast genauso gut notepad verwenden.

Gruß Tom
 
k.. werde mich gleich damit auseinander setzen ..

Wenn ich versuche online zu connecten, erhalte ich folgende Fehlermeldung:

Code:
Fehler: com.mysql.jdbc.CommunicationsException: Communications link failure due to underlying exception: 

** BEGIN NESTED EXCEPTION ** 

java.net.SocketException
MESSAGE: java.net.ConnectException: Connection refused

STACKTRACE:

java.net.SocketException: java.net.ConnectException: Connection refused
	at com.mysql.jdbc.StandardSocketFactory.connect(StandardSocketFactory.java:156)
	at com.mysql.jdbc.MysqlIO.<init>(MysqlIO.java:284)
	at com.mysql.jdbc.Connection.createNewIO(Connection.java:2555)
	at com.mysql.jdbc.Connection.<init>(Connection.java:1485)
	at com.mysql.jdbc.NonRegisteringDriver.connect(NonRegisteringDriver.java:266)
	at java.sql.DriverManager.getConnection(DriverManager.java:525)
	at java.sql.DriverManager.getConnection(DriverManager.java:171)
	at MySQL_Connection.main(MySQL_Connection.java:34)


** END NESTED EXCEPTION **



Last packet sent to the server was 15 ms ago.

Ich habe files deklariert... wird aber nirgends verwendet..
static String files = "/opt/eclipse/driver/mysql-connector-java-3.1.12/mysql-connector-java-3.1.5-gamma-bin.jar";
 
Zuletzt bearbeitet:
Hi,

läuft die Datenbank auf dem Entwicklungsrechner? Falls nein, sind die nötigen Rechte per GRANT eingerichtet worden. Damit meine ich auch Rechte um von anderen Rechnern zu verbinden. Speziell von Deinem "Eclipse-Rechner".

Gruß

Romsl
 
Hallo!

Ich habe files deklariert... wird aber nirgends verwendet..
static String files = "/opt/eclipse/driver/mysql-connector-java-3.1.12/mysql-connector-java-3.1.5-gamma-bin.jar";
Diese Deklaration hat bei dir keine Auswirkungen auf den Classpath... hast du vielleicht in der Firewall den Netzwerk Zugriff für Java Prozesse gesperrt?

Gruss Tom
 
Hu..

denke nicht, dass es etwas mit den Rechten zutun hat. Ich kann mit JDeveloper auch online auf meine Datenbank zugreifen.

Arbeite unter Linux ohne Firewall..


Poste sicherheitshalber den gesamten Qelltext: Eventuell könnt ihr eure Daten einsetzen und das Ganze überprüfen..

Code:
import java.sql.*;

public class MySQL_Connection {

	// Verbindungsdaten
	// static String files    = "/opt/eclipse/driver/mysql-connector-java-3.1.12/mysql-connector-java-3.1.5-gamma-bin.jar";
	static String driver   = "com.mysql.jdbc.Driver";
	// jdbc:mysql://<host>:<port3306>/<database>
	static String url      = "localhost.localdomain";
	static String user     = "aaron";
	static String password = "";
	static String database = "test";
	
	static Connection con = null;
	static Statement  sta = null;
	static ResultSet  res = null;
	
	static String que = "SELECT * FROM birthday_guest";
	
	public static void main(String[] args) {
		
		// Verbindungsaufbau
		try {
						
			// Rigistrierung beim DriverManager
			Class.forName(driver);
			// Verbindungsobjekt
			con = DriverManager.getConnection(url, user, password);
			// Anfrageobjekt
			sta = con.createStatement();
			// Query
			sta.executeQuery(que);  
			// Ergebnisobjekt
			res = sta.getResultSet(); 
			
			// Ausgabe des Querys solange Datensätze vorhanden sind
			while(res.next()) {
				issue(res.toString());
			}
			
		}
		catch (Exception e) {
			System.out.println("Fehler: "+e);
		}
		
		/*/
		finally {
				try {
					con.close();
				} catch (SQLException e) {
					e.printStackTrace();
				}
		}
		//*/
		
	}// end main

	// Dient der Ausgabe von Nachrichten
	public static void issue (String msg) {
		System.out.println(msg);
	}

}// end class
 
Zuletzt bearbeitet:
Zurück