MYSQL Anbindung

  • Themenstarter Themenstarter friendlyguest
  • Beginndatum Beginndatum
Status
Nicht offen für weitere Antworten.
F

friendlyguest

Gast
Hallo,

Hab da so ein Problem und wäre sehr dankbar, wenn ich mir helfen könntet. Und zwar gehts um eine MYSQL Anbindung.

Code:
import java.io.Console;
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.ResultSet;
import java.sql.Statement;
import java.sql.*;

public class MySql {
	public static void main (String args[])
	{
		String URL = "jdbc:msql://localhost:3306/benutzerdatenbank";
		String benutzername = "root";
		String passwort = "admin";
		
		try{
			Class.forName("com.mysql.jdbc.Driver");
			}
		catch (Exception e) 
		{
			System.err.println(" JDBC/ODBC-Treiber konnte nicht geladen werden.");
			return;
			}
		
		Statement befehl = null;
		Connection verbindung = null;
		
		try
		{
			verbindung = DriverManager.getConnection(
					URL,
					benutzername,
					passwort);
			befehl = verbindung.createStatement();
			}
		catch (Exception e)
		{
			System.err.println("Verbindung zu " + URL +"konnte nicht hergestellt werden");
			}
		
		try
		{
			ResultSet datenmenge;
			datenmenge = befehl.executeQuery("SELECT * FROM benutzer_daten;");
			
			Console cons = System.console();
			
			System.out.println("\n");
			System.out.println("Bundesland \t Einwohner (in Mio)\n");
			System.out.println("\n");
			//cons.system("\n");
			//cons.printf(" Bundesland \t Einwohner (in Mio) \n");
			//cons.printf("\n");
			
			String land;
			int einw;
			
			while(datenmenge.next())
			{
				land = datenmenge.getString("Bundesland");
				einw=datenmenge.getInt("Einw (in Mio)");
				System.out.println(land + " \t\t "+ einw +"\n");
				//cons.printf(" %s \t\t %d \n",land,einw);
				}
			verbindung.close();
		}
		catch (Exception e)
		{
			e.printStackTrace();
			
		}
	}

}

und zwar kommt da immer die exception, dass der odbc treiber nicht gefunden wurde. Kann mir jemand genau erklären, wie ich den treiber einbinde? Wäre sehr dankbar, wenn das jemand ausführlich beschreiben könnte, ich verzweifel schon langsam und auf webseiten war ich schon...ohne erfolg.

Danke
 
Hallo.


welche entwicklungsumgebung nutzt du?

dieser Treiber liegt als jar-Datei vor. diesen musst als Library importieren.

ich nutze den mysql connector ....
 
Hallo,

den Connector hab ich schon runtergeladen, bloß weiß ich nicht mit ihm anzufangen. Ich benutze eclipse.

Danke im Voraus
 
du musst diese jar-datei als bibliothek in dein Projekt eifnügen.

wenn das klappt merkst du dies daran das er die Import java.sql.Connection und soweiter nicht anmekert.

klappt das kompilieren soweit?
 
Connection con = DriverManager.getConnection(
"jdbc:mysql://localhost:3306/contacts/", props);


bei dir sehe ich


String URL = "jdbc:msql://localhost:3306/benutzerdatenbank";


msql ist das überhaupt richtig???
 
Hab das jetzt gelöst mit der Dateianbindung, aber das Kompilieren macht Schwierigkeiten.

Code:
import java.io.Console;
import java.sql.*;

public class MySql {
	public static void main (String args[])
	{
		String URL = "jdbc:msql://localhost/benutzerdatenbank";
		String benutzername = "root";
		String passwort = "admin";
		
		try{
			Class.forName("com.mysql.jdbc.Driver");
			}
		catch (Exception e) 
		{
			System.err.println(" JDBC/ODBC-Treiber konnte nicht geladen werden.");
			return;
			}
		
		Statement befehl = null;
		Connection verbindung = null;
		
		try
		{
			verbindung = DriverManager.getConnection(
					URL,
					benutzername,
					passwort);
			befehl = verbindung.createStatement();
			}
		catch (Exception e)
		{
			System.err.println("Verbindung zu " + URL +"konnte nicht hergestellt werden");
			}
		
		try
		{
			ResultSet datenmenge;
			datenmenge = befehl.executeQuery("SELECT Name, Vorname FROM benutzer_daten;");
			
			
			
			System.out.println("\n");
			System.out.println("Name \t Vorname \n");
			System.out.println("\n");
			//cons.system("\n");
			//cons.printf(" Bundesland \t Einwohner (in Mio) \n");
			//cons.printf("\n");
			
			String land;
			int einw;
			
			while(datenmenge.next())
			{
				String name = datenmenge.getString("Name");
				int vorname=datenmenge.getInt("Vorname");
				System.out.println(name + " \t\t "+ vorname +"\n");
				//cons.printf(" %s \t\t %d \n",land,einw);
				}
			verbindung.close();
		}
		catch (Exception e)
		{
			e.printStackTrace();
			System.err.println("Fehler in Datenbankauslesen :-/");
			
		}
	}

}

Der meckert jetzt in Zeile 39 wegen NullPointer.... ka, was der jetzt hat und warum der macken macht.
 
String URL = "jdbc:msql://localhost/benutzerdatenbank";


durch das hier ersetzen!!!! sag mal was er dann sagt.

String URL = "jdbc:mysql://localhost/benutzerdatenbank";
 
Danke, hat geklappt...hätt ich drauf kommen sollen :-(. Egal, es funktionert

Vielen Dank nochmal,

Gruß
 
Hätte nochmal ne Frage, und zwar:

Wie bekomme ich die Ausgabe über eine GUI?

Danke im Voraus.
 
Alles schön und gut. Der Connector lässt sich primar als externe Jar einbinden, aber beim exportieren des Programmes wir der Connector nicht mit exportiert! Hat jemand eine Antwort?
 
Ja.

Du solltest hier im Forum mal nach "FatJar" suchen. Oder google nach "FatJar" befragen.

Und immer schön dran denken: Conenctor/J ist GPL. Das heisst du musst bei weitergabe deines Programms den Quellcode offen legen ;-)

- Alex
 
Status
Nicht offen für weitere Antworten.

Zurück
Oben