Daten aus einer MySQL-Datenbank auslesen

Status
Nicht offen für weitere Antworten.

Star82

Mitglied
Hallo!

Diese Frage habt ihr sicher schons sehr oft beantworten müssen, aber ich finde einfach keine Lösung dazu.
Ich habe einen MySQL-Server auf meinem lokalen Computer installiert. Er läuft auch, hab über die Command-Line eine Testtabelle erstellt und ein paar Datensätze eingetragen. Aber ich bekomme einfach keine Verbindung zusammen. Kann mir bitte jemand helfen!!! - kenn mich leider auch nicht sehr gut damit aus.

Der Quellcode wäre:
Code:
import java.sql.*;

public class DBConnection {

	private Connection mConnection;
	private Statement mStatement;
	private ResultSet mResultSet;
	private String msUsername;
	private String msPassword;
	private String msHost;
	private String msDatabase;

	public DBConnection(String xsHost,String xsDatabase,String xsUsername,String xsPassword){
		this.msHost=xsHost;
		this.msDatabase=xsDatabase;
		this.msUsername=xsUsername;
		this.msPassword=xsPassword;
	}
	
	public boolean getConnection(){
		String sConnection="jdbc:mysql://"+msHost+"/"+msDatabase+"?user="
		+msUsername+"&password="+msPassword;
		
		try{
			Class.forName("sun.jdbc.odbc.JdbcOdbcDriver"); 
		}catch(Exception e){
			return false;   
		}
		try{
			mConnection = DriverManager.getConnection(sConnection);
		}catch(SQLException ex){
		      return false;
		}
		return true;
	}
	
	public void makeRequest(){

		try {
		  // DB-Statement Objekt erzeugen
		  mStatement = mConnection.createStatement();

		  // Result-Set Objekt erzeugen und initialisieren
		  mResultSet = mStatement.executeQuery("SELECT * FROM beschreibung");

		  // Navigation ueber das ResultSet
		  while(mResultSet.next()) {
		  	// Zugriff auf das ResultSet
		  	System.out.print(mResultSet.getString("bereich")+" "+
		  			mResultSet.getString("dateinamen")+" "+
					mResultSet.getString("bearbeiter"));
		  }
		  mResultSet.close();
		  mStatement.close();
		  mConnection.close();
		} 
		catch(SQLException sql)
		{
		  System.out.println("SQL-Fehler: " + sql); 
		}
	}
	
	public static void main (String [] args) {
		DBConnection con = new DBConnection("localhost", "DB-Name", "User-Name", "PWD");
		con.getConnection();
		con.makeRequest();
	}
}

Bei mConnection = DriverManager.getConnection(sConnection); geht er immer ins catch hinein!
Wäre für ein bisschen Hilfe wirklich sehr dankbar!!

LG Star
 
Also genau Volltreffer.
Die Fehlermeldung ist java.sql.SQLException: No suitable driver

Hab mir jetzt den Beitrag zu diesem Thema durchgelesen, aber das bringt mich leider auch nicht sehr viel weiter.

String sConnection="jdbc:mysql://"+msHost+"/"+msDatabase+"?user="+msUsername+"&password="+msPassword;

Wenn ich ehrlich bin, ist mein Problem, dass ich nicht genau weiß, was ich da hineinschreiben soll
(vor allem bei msHost). Wenn ich im Internet-Explorer http://localhost eingebe komme ich automatisch zu meinem Tomcat-Server, den ich auch lokal auf meinem Rechner installiert habe - vielleicht ist das das Problem.
Noch einmal - vielen Dank für eure Hilfe!
 
du brauchst das mysql-connector-java-3.1.0-bin.jar im classpath, also entweder ganz krass
in deinem $JAVA_HOME/lib/ext oder eben innerhalb der Applikation mit java -cp $CLASSPATH:$APP_HOME/lib/mysql-connect...jar

außerdem stand in http://www.java-forum.org/de/viewtopic.php?t=1529 auch:
conn = DriverManager.getConnection("jdbc:mysql://" + dbHost + ":" + dbPort + "/" + dbName, user, passwd)
also noch der Port den du scheinbar vergisst.
Ansonsten müßte es passen 🙂
 
Status
Nicht offen für weitere Antworten.

Zurück
Oben