# MySQL Verbindung



## Gast (15. Jul 2006)

Hallo ich versuche mit folgendem Code eine Verbindung zu MySQL aufzubauen:


```
import java.sql.*;

public class DatabaseAction {
        // globale Variablen
        Connection verbindung = null;


        public DatabaseAction() {
            super();

            // Laden des Treibers
            try {
                Class.forName("com.mysql.jdbc.Driver");

                try {

                    verbindung = DriverManager.getConnection("jdbc:mysql://localhost", "root", "Lok1Free");
                } catch(Exception e) {
                    System.err.println("Verbindung ist fehlgeschlagen!");
                    System.err.println("  -> " + e.getMessage());
                }

                CreateNewTable();
            } catch (ClassNotFoundException e) {
              e.printStackTrace();
              /*catch(Exception e) {
                System.err.println("Kann Treiber nicht laden!");
                System.err.println("  -> " + e);
              */
            }

        }

        public int CreateNewTable() {
            String sqlQuery = "CREATE TABLE test1 kundennummer int AUTO_INCREMENT PRIMARY KEY";
            Statement stm;
            try {
                stm = verbindung.createStatement();
                try {
                    stm.executeUpdate(sqlQuery);
                } catch(Exception e){}
            } catch(Exception e) {}

            return 0;
        }
        
    	public static void main(String[] args) {

    		DatabaseAction verbindung = new DatabaseAction();
    		
    	}
}
```

beim Komilieren erhalte ich folgende Fehlermeldung:


```
java.lang.ClassNotFoundException: com.mysql.jdbc.Driver
	at java.net.URLClassLoader$1.run(Unknown Source)
	at java.security.AccessController.doPrivileged(Native Method)
	at java.net.URLClassLoader.findClass(Unknown Source)
	at java.lang.ClassLoader.loadClass(Unknown Source)
	at sun.misc.Launcher$AppClassLoader.loadClass(Unknown Source)
	at java.lang.ClassLoader.loadClass(Unknown Source)
	at java.lang.ClassLoader.loadClassInternal(Unknown Source)
	at java.lang.Class.forName0(Native Method)
	at java.lang.Class.forName(Unknown Source)
	at DatabaseAction.<init>(DatabaseAction.java:13)
	at DatabaseAction.main(DatabaseAction.java:49)
```

ich habe mir den mysql-connector heruntergeladen und entpackt nach:

```
/home/$user/my_java/jconnector
```

ein echo $CLASSPATH zeigt:

:/home/$user/my_java/workspace/org.eclipse.swt/swt.jar:/home/$user/my_java/jconnector/mysql-connector-java-3.1.13-bin.jar

Irgendwie scheint er das .jar file des connectors doch nicht zu finden, oder?


----------



## Guest (16. Jul 2006)

Die Lösung:

Ich arbeite mit Eclipse und dem JRE und habe das JDK nicht installiert. Irgendwie wertet Eclipse die CLASSPATH Variable nicht richtig aus. Nachdem ich das Connector-jar-file nach 


```
/$Eclipse_Home/jre/lib/ext
```

kopiert habe gehts.

Das oben gezeigte script kommuniziert über Ports mit dem MySQL Server. Ich würde aber lieber über Sockets mit dem Server in Verbindung treten. Kann mir jemand sagen was ich ändern muss?


----------



## AlArenal (16. Jul 2006)

JDBC arbeitet immer über TCP/IP.


----------

