# java-sql



## siroFranz (5. Feb 2007)

so habe mir einiges durchgelsen,weiß auch das solche Frage schon häufiger gestellt wurde :roll: 
Habe mir den Treiber von mysql.org geladen und den META-INF, org und com Ordner in mein Java-Projektordner mit den class datein gepackt.
Dann habe ich eine Klasse mit dem databaseConnector
und bei der anderen sieht es jetzt so aus:
Problem findet localhost nicht, weiß nicht was ich da eingeben muss bei connect() für Verbindungseinstellungen ?
Fehlermeldung sieht so aus:  No suitable driver found for jdbc:mysql:192.168.2.101
Die Datenbank ist auch auf dem System und benutze windows vista im mom :lol:  :lol: 

Edit: hab mal versucht statt der ip, localhost dahinzuschreiben, aber gleiche meldung :### 
(Wenn jm.. den databaseConnector sehn möchte, sagen)


```
import java.awt.*;
import java.awt.event.*;
import javax.swing.*;
import java.sql.*;

public class Test extends JFrame implements ActionListener
{
    databaseConnector db;
    public Test()
    {
        this.setSize(500, 500);
        connect();
        this.setVisible(true);
    }
    public void actionPerformed(ActionEvent e)
    {
        
    }
    public void connect()
    {
         try{
           this.db = new databaseConnector("192.168.2.101","Jordie", "david", true);
            JOptionPane.showConfirmDialog(this, "Wollen Sie wirklich ein neues Dokument öffnen ?", "Meldung", JOptionPane.YES_NO_OPTION, JOptionPane.WARNING_MESSAGE);   
        }
        catch(Exception e){
            System.out.println(e.getMessage());
        }
    }
}
```

Gruß


----------



## siroFranz (5. Feb 2007)

gut, dass keiner schreibt, bin am verzweifeln :?:  :?:


----------



## DP (5. Feb 2007)

wie sieht denn dein connectionaufruf aus?!


----------



## siroFranz (5. Feb 2007)

Das der Anfang davon:


```
import java.sql.*;

public class databaseConnector
{
    Connection verbindung;
    Statement abfrage;
    ResultSet datenMenge;
    boolean debugMode= false;

    /**
    * Der Konstruktor versucht den Treiber zu laden und die Verbindung zur Datenbank herzustellen. 
    * Der java-mysql Treiber muss vorher von der Webseite [url]www.mysql.org[/url] herunter geladen werden, sofern er nicht 
    * schon im Betriebssystem vorhanden ist. Sollte keine Verbindung hergestellt werden können, so wird eine Exception geworfen. 
    * Im debugMode werden die  Fehlermeldungen auf der Konsole ausgegeben.
    * 
    * * */
    public databaseConnector(String database, String user, String password, boolean debugMode) throws Exception
    {
        this.debugMode = debugMode;
        try 
        {
            Class.forName("com.mysql.jdbc.Driver");
            try
            {
                verbindung = java.sql. DriverManager.getConnection("jdbc:mysql:"+database, user, password);
            }
            catch(Exception e)
            {
                    if(debugMode)
                    {
                        System.err.println(e.getMessage());
                    }
                    throw new Exception("Verbindung zum Server gescheitert.");
            }
            
        }
        catch(ClassNotFoundException e)
        {
                    if(debugMode)
                    {
                        System.err.println(e.getMessage());
                    }
            throw new Exception("Treiber nicht gefunden");
        }
    }
```


----------



## DP (5. Feb 2007)

was gibt der denn aus? 

throw new Exception("Treiber nicht gefunden");

oder

throw new Exception("Verbindung zum Server gescheitert."); 

?!


----------



## siroFranz (5. Feb 2007)

das wird ausgegeben. Also kann bei meinen Verbindungseinstellungen bestimmt irgendwas nicht stimmen richitg?


```
throw new Exception("Verbindung zum Server gescheitert.")
```


----------



## DP (5. Feb 2007)

jau, änder mal 


```
verbindung = java.sql.DriverManager.getConnection("jdbc:mysql:"+database, user, password);
```

in


```
verbindung = java.sql.DriverManager.getConnection("jdbc:mysql://localhost/DATENBANKNAME?user=USER&password=PASSWORT");
```

DATENBANKNAME, USER und PASSWORT musst du entsprechend ändern.


----------



## siroFranz (5. Feb 2007)

frag mich nur gerade was ich unter user eingeben soll, weil als ich den mysql 5 server installiert habe, musste ich nur ein root-pw festlegen.


----------



## DP (5. Feb 2007)

dann nimm als user "root" ohne die anführungszeichen


----------



## siroFranz (5. Feb 2007)

ja dankedanke es läuft jetzt endlich   
aber keine angst mit den Abfragen usw. habe ich keine Probleme


----------



## DP (5. Feb 2007)

:lol:

kein thema


----------



## siroFranz (5. Feb 2007)

edit: aufeinmal gehts es, aber hat ziemlich lange gedauert.(es bleibt mir ein rätsel :!:  :!: )


sorry, aber muss leider nochmal nerven.
Hab gerade mal neugestartet und aufeinmal hängt BlueJ jedesmal wenn ich die Klasse compiliere und macht gar nichts.(Vor paar minuten ging das noch :roll:  :roll
Das  hat meine euphorie dann mal wieder gebremst :roll:
nochmal schritt für schritt

1. Treiber von mysql.org geladen
2. mysql-connector-java-5.0.4-bin.jar in java/..../lib/ext geklascht
3. den com/Meta-Inf und org Ordner hab ich zu den Java class-Datein gepackt (da wo mein projekt ist)
4. 
	
	
	
	





```
this.db = new databaseConnector("//localhost/test2","root", "david");
```
 steht in meiner klasse, die dann über den databaseConnector die Datenbank andocken soll.
5.Classpath sieht so aus
C:\Programme\Java\jre1.6.0\lib\ext\mysql-connector-java-5.0.4-bin.jar;C:\Programme\Java\jdk1.6.0\BIN;%PATH%
ist doch richtig?


----------



## DP (5. Feb 2007)

keine ahnung, ich kenne bluej nicht. hängt der beim zugriff order wirklich beim kompilieren?!


----------



## siroFranz (5. Feb 2007)

sobald ich auf den Compilier klicke, braucht der Ewigkeiten. (davor ist der paar mal abgestürtzt)
aber jetzt geht es schon wieder nicht. Versteh das nicht muss ich irgendwie den sql-server gestartet haben oder die datenbank mit 
	
	
	
	





```
use database
```
 laden.
Oder kann ich das programm geschlossen haben?


----------



## DP (5. Feb 2007)

beim kompilieren ist das egal ob da ein db-server da ist oder nicht.

zur laufzeit kann es sein, wenn du die connections nicht wieder schliesst, dass dein server zuviele connections hat und dicht macht. aber dann würde eine meldung in der art von "to many connections" kommen. 

ansonsten kann ich dir da leider auch nicht weiterhelfen. mit mysql 5 sowieso nicht, kenne die eigenarten nicht, bin nur mit 4.x unterwegs.


----------



## DP (5. Feb 2007)

btw: kompiliere deine klassen mal direkt aus der dosbox. 

ggf. liegt das ganze fehlverhalten am windows vista - würde mich nicht wundern.


----------



## siroFranz (6. Feb 2007)

unter DOS die gleich Trägheit, aber nach ner Zeit kommt was (unter ubuntu versucht da gings auf Anhieb).
Muss dem Herr Gates mal ne Mail schicken

Gruß


----------



## DP (6. Feb 2007)

alles wird gut


----------

