# Einbinden von MySQL



## DayXtry (13. Okt 2005)

Hallo,
also in der Suche hab ich nicht wirklich etwas gefunden, was mir wirklich weiterhelfen könnte.

Ich versuche seit geraumer Zeit eine Verbindung von Java mit MySQL herzustellen, bekomm das aber irgendwie nicht auf die Reihe.
Also ich verwende den Borland JBuilder X Enterprise.

Folgendes hab ich bis jetzt gemacht:
- natürlich MySQL installiert
- hab mir den MySQL Connector runtergeladen und entpackt

In dem Ordner nach dem entpacken, befindet sich eine .jar Datei, welche angeblich irgend wie mit eingebunden werden muss.
Also hab ich mal im Internet danach gesucht, wie das eigentlich geht. Da hab ich dann herausgefunden, dass man das .jar File mit in den CLASSPATH einbinden muss.
CLASSPATH=%CLASSPATH%;C:\...
(...) steht für den Pfad, wo sich das .jar File befindet

ok, also, das hab ich dann auch gemacht.
Aber es kommt immer noch die Fehlermeldung, dass er den Treiber nicht kennt.

Dann bin ich hier ins Forum, und hab mal gesucht ob da noch andere Probleme mit haben. Und hab dann folgendes gefunden:
Man muss die .jar Datei entpacken, und die Verzeichnisse com und org in das Hauptverzeichnis der Anwendung kopieren.
Das hab ich dann auch gemacht, aber hat leider auch nichts gebracht.

MfG DayXtry
PS.: Wäre für Hilfe wirklich dankbar, bin nämlich schon am verzweifeln *G*


----------



## Icewind (13. Okt 2005)

schau mal in die FAQ unter treiber nicht gefunden...


----------



## DayXtry (13. Okt 2005)

Naja, da steht halt auch das mit dem CLASSPATH.
Laut der Fehlermeldung, ist es ja nicht eingebunden, sonst müsste es ja von JBuilder gefunden werden, oder?
Aber ich habs jetzt schon x-mal versucht.
Hmmmm

Danke für die schnelle Antwort!!!


----------



## DayXtry (13. Okt 2005)

Kann mir denn niemand n Tipp geben, oder einfach sagen, worans liegt?

Danke.


----------



## Icewind (13. Okt 2005)

zeig mal den code her wo du den treiber im programm einbindest und eine ferbindung mit mysql herstellst...


----------



## DayXtry (13. Okt 2005)

Ok, hier ist mal der Code des Programms, mit dem ich die Verbindung zu MySQL teste:


```
package sql;

import java.sql.*;

/**
 * 

Title: </p>
 * 

Description: </p>
 * 

Copyright: Copyright (c) 2005</p>
 * 

Company: </p>
 * @author not attributable
 * @version 1.0
 */

public class SQL {
  public SQL() {
  }

  public static void main(String[] args) {
    try {
      Class.forName("com.mysql.jdbc.Driver");
    }
    catch (ClassNotFoundException e) {
        System.out.println("Fehler bei ODBC - JDBC - Bridge" + e);
        return;
    }

    Connection con;
    Statement stmt;
    ResultSet rSet;

    try {
      String url = "jdbc:odbc:test";
      con = DriverManager.getConnection(url, "", "");
      stmt = con.createStatement();

      String sqlQuery = "SELECT * FROM fahrzeug";
      rSet = stmt.executeQuery(sqlQuery);

      while(rSet.next())
        System.out.println(rSet.getString(1) + "\t" + rSet.getString(2));

      stmt.close();
      con.close();
    }
    catch (SQLException e) {
      System.out.println("Fehler bei Tabellenabfrage" + e);
      return;
    }
  }

}
```

MfG DayXtry


----------



## Icewind (13. Okt 2005)

... hm wie ich schon sagte schau dir bitte die zwei links in der FAQ an: http://www.java-forum.org/de/viewtopic.php?t=4768 und http://www.java-forum.org/de/viewtopic.php?t=1529
dein link zu der datenbank ist nämlich falsch, deswegen kommt auch die driver exception...


----------



## KSG9|sebastian (14. Okt 2005)

url muss sowas sein:

```
//jdbc:mysql://host:port/datenbank

String url = "jdbc:mysql://localhost:3306/test"
```


----------



## DayXtry (14. Okt 2005)

Ok, danke, werds mal ausprobieren.

@Icewind:
Hab weiter oben gedacht, du meinst das FAQ des Treibers *G*,...Danke für eure Antworten!!!


----------



## Volker (17. Okt 2005)

Ich scheitere schon viel früher. Hier mein Code:


```
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.ResultSet;
import java.sql.Statement;

/**
 * 
 */

/**
 * @author vd
 *
 */
public class DbConnect
{

private static String Urldb = "com.mysql.jdbc.Driver";

/**
 * @param args
 */
public static void main(String[] args)
	{
	connect();
	}


//Verbinde mit einer bestimmten Datenbank
public static boolean connect()
	{
	Statement stmt = null;
	ResultSet resultSet = null;
	
	try
		{
		// The newInstance() call is a work around for some
		// broken Java implementations
		Class.forName("com.mysql.jdbc.Driver");
		
		Connection conn = DriverManager.getConnection("jdbc:mysql://localhost/literatur?" + "user=vd&password=sagichnicht");
		
		stmt = conn.createStatement();		
		}
	catch (Exception ex)
		{
		// handle the error
		ex.printStackTrace();
		}
	
	return (true);
	}

}
```

Ich bekomme vom Java-Compiler folgende Fehlermeldung:


```
DbConnect.java:39: cannot find symbol
symbol  : method forName(java.lang.String)
location: class Class
                Class.forName("com.mysql.jdbc.Driver");
                     ^
1 error
```

Das verwendete Java ist 1.5. In diversem Büchern und in der Doku zu dem MySql-Treiber steht die Zeile



> Class.forName("com.mysql.jdbc.Driver");



genau so drin. Als Entwicklungsumgebung benutze ich Eclipse, und Eclipse meldet denselben Fehler. Laut Java-Doku ist aber Class.forName(<String>) legal. Was mache ich falsch?


----------



## Guest (18. Okt 2005)

Noch eine zusätzliche Information: Mit Java 1.4x und einer Informix-Datenbank funktioniert obiger Code (mit anderen Parametern für die Datenbank, versteht sich) perfekt. D. h., ich kann eine Verbindung aufbauen, SQL-Statements absetzen etc.


----------



## Volker (18. Okt 2005)

Anonymous hat gesagt.:
			
		

> Noch eine zusätzliche Information: Mit Java 1.4x und einer Informix-Datenbank funktioniert obiger Code (mit anderen Parametern für die Datenbank, versteht sich) perfekt. D. h., ich kann eine Verbindung aufbauen, SQL-Statements absetzen etc.



Sorry, ich habe das Problem gelöst! Ich hatte noch eine JAVA-Datei übrig (versehentlich mitkopiert), die ein Class.java enthielt. Und in dieser war kein forName () definiert ...


----------

