tutorials.de Buch-Aktion 05/2012
ERLEDIGT
JA
ANTWORTEN
4
ZUGRIFFE
3050
EMPFEHLEN
  • An Twitter übertragen
  • An Facebook übertragen
AUF DIESES THEMA
ANTWORTEN
  1. #1
    soa soa ist offline Mitglied Brokat
    Registriert seit
    Jun 2004
    Beiträge
    336
    Hallo zusammen,

    puh, es scheint mir nicht ganz so einfach zu sein, eine DB in Java einzubinden.

    Ich habe mir einen Treiber von der MySQL Site gezogen: mysql-connector-java-5.0.5-bin.jar
    Diesen im Clathpath unter Windows XP eingebunden.
    MySQL läuft bei mir über den Port 3306.

    Ich arbeite mit Eclipse SDK in der Version: 3.2.2.

    Hier habe ich mir nun eine Testklasse geschrieben, die ich nachstehend einstelle:


    PHP-Code:
    import java.sql.Connection;
        
    import java.sql.DriverManager;
        
    import java.sql.SQLException;
        
    import java.io.PrintWriter;
        
    import java.sql.*;
        
        public class 
    guiTest {
            

            static 
    Statement stmt null;
            static 
    ResultSet rs null;    
            
            
        
    public static 
    void main (String[] args){
        
        try {
        
    Connection conn =
        
    DriverManager.getConnection("jdbc:mysql://localhost/datenbankname?" +
        
    "user=root&password=");
        
        
            
    stmt conn.createStatement();
            
    rs stmt.executeQuery("SELECT * FROM motive");

            if (
    rs != null) {
                
    System.out.println("Datenbankabruf erfolgreich durchgeführt!");
            }
            else
            {
                
    System.out.println("Datenbankabruf fehlgeschlagen!");
            }

        
        
    DriverManager.setLogWriter( new PrintWriter(System.out) );
    //     Do something with the Connection
        
        
    } catch (SQLException ex) {
    //     handle any errors
        
    System.out.println("SQLException: " ex.getMessage());
        
    System.out.println("SQLState: " ex.getSQLState());
        
    System.out.println("VendorError: " ex.getErrorCode());
        
        
        }
        
    finally {
               
            if (
    rs != null) {
                try {
                    
    rs.close();
                } catch (
    SQLException sqlEx) { // ignore }

                
    rs null;
            }

            if (
    stmt != null) {
                try {
                    
    stmt.close();
                } catch (
    SQLException sqlEx) { // ignore }

                
    stmt null;
            }
            }
          }  
                
            }
    //finally    
            
        
    }//main
        
    }// end of class 
    Leider bekomme ich nicht die geringste Ausgabe .Nicht einmal eine Fehlermeldung.
    Die Klasse wird kompiliert.

    Die Log von eclipse sagt Folgendes:

    !ENTRY org.eclipse.jdt.debug.ui 4 150 2007-07-25 21:17:56.481
    !MESSAGE Internal Error
    !STACK 1
    org.eclipse.debug.core.DebugException: Invalid stack frame
    at org.eclipse.jdt.internal.debug.core.model.JDIStackFrame.getUnderlyingStackFrame(JDIStackFrame.java:1 003)
    at org.eclipse.jdt.internal.debug.core.model.JDIStackFrame.getUnderlyingVisibleVariables(JDIStackFrame. java:681)
    at
    usw..

    Ich wäre über Hinweise sehr dankbar.


    Vielen Dank.
     

  2. #2
    limago limago ist offline Mitglied Brokat
    Registriert seit
    May 2007
    Ort
    Riedstadt (Hessen)
    Beiträge
    354
    Hi Du must erst noch die Klasse laden, bevor Du den DriverManager bemühst
    Code java:
    1
    2
    3
    
    Class.forName("com.mysql.jdbc.Driver").newInstance();
    conn = DriverManager.getConnection(url, user, pass);
    System.out.println("Verbunden");

    Gruss
     
    I didn't write this; a very complex macro did.

  3. #3
    Avatar von celph_titled
    celph_titled celph_titled ist offline Mitglied Gold
    Registriert seit
    May 2007
    Beiträge
    107
    Hallo,

    mit deiner Fehlerausgabe kann ich nicht viel anfangen, hab kein Eclipse. Die DebugException heißt aber wohl, dass Eclipse bzw. der Debugger Probleme mit der Java VM hat, also liegt das nicht an der Datenbank.
    Auf jeden Fall musst du aber vorher die Klasse des SQL-Treibers laden, das geht bei deinem z.B. mit
    Code :
    1
    2
    3
    
    static {
       Class.forName("com.mysql.jdbc.Driver");
    }
    ansonsten findet der DriverManager nämlich keinen passenden Treiber für die URL.
     

  4. #4
    soa soa ist offline Mitglied Brokat
    Registriert seit
    Jun 2004
    Beiträge
    336
    Alles klar, habe es über

    PHP-Code:

    try 
            { 
              
                   Class.
    forName("com.mysql.jdbc.Driver");
                
            } 
            catch ( 
    ClassNotFoundException e 
            { 
              
    System.err.println"Treiber Error!" ); 
              return; 
            } 
    hinbekommen.

    Allerdings läßt sich die Klasse nur über die Konsole ausführen.

    Wenn ich die Klasse in Eclipse ausführe, passiert nichts. Fange gerade erst an mit
    Eclipse zu arbeiten. Woran könnte es liegen, dass das Programm in Eclipse nicht läuft ?

    VG
     

  5. #5
    dontschew dontschew ist offline Mitglied Gold
    Registriert seit
    Mar 2007
    Ort
    Suhl/Thüringen
    Beiträge
    161
    Also wenn du den DB Treiber unter der für eclipse verantwortlichen jre im Verzeichnis lib/ext als *.jar gespeichert hast, sollte es problemlos laufen.
     

Ähnliche Themen

  1. [C#] Verbindung mit DB aufbauen
    Von yellowspam im Forum .NET Web und Kommunikation
    Antworten: 3
    Letzter Beitrag: 20.08.07, 12:09
  2. [c++ .Net] Datenbank verbindung aufbauen
    Von Halcom im Forum .NET Windows Forms
    Antworten: 1
    Letzter Beitrag: 15.06.06, 12:54
  3. VPN Verbindung aus C# aufbauen
    Von lusiphur im Forum .NET Windows Forms
    Antworten: 1
    Letzter Beitrag: 14.09.05, 13:02
  4. MS sql webserver verbindung aufbauen
    Von DuCaNe im Forum Relationale Datenbanksysteme
    Antworten: 0
    Letzter Beitrag: 09.02.05, 21:00
  5. MySQL-Verbindung aufbauen
    Von lukasS im Forum VisualStudio & MFC
    Antworten: 6
    Letzter Beitrag: 20.01.05, 08:58