Announcement

Collapse
No announcement yet.

Datenbankverbindung -> Exception

Collapse
X
  • Filter
  • Time
  • Show
Clear All
new posts

  • Datenbankverbindung -> Exception

    Ich bekomme bei der Verbindung zu meiner Datenbank eine sehr merkwürdige Fehlermeldung:
    Es ist ein Fehler aufgetreten! com.mysql.jdbc.Driver
    Im Debugger sieht man, dass es eine ClassNotFoundException ist.

    Der Code:
    Code:
    String sDbUrl="jdbc:mysql://D:\\Studium\\s38347.sdf", sUsr=null, sPwd="bla";
            Connection cn = null;
              Statement  st = null;
              ResultSet  rs = null;
    
              try {
                Class.forName("com.mysql.jdbc.Driver").newInstance();
                cn = DriverManager.getConnection( sDbUrl, sUsr, sPwd );
                st = cn.createStatement();
                rs = st.executeQuery( "select * from benutzer");
    
                // Überschriften
                ResultSetMetaData rsmd = rs.getMetaData();
                int n = rsmd.getColumnCount();
                //rsmd.getColumnName( i ); in for-Schleife
                //while(rs.next()) {
                //    for (int i=1; i<=n; i++){
                //        rs.getString(i);
                //    }
                //}
                
                DefaultTableModel aModel = new DefaultTableModel();       
                for(int i=1; i<=n; i++)
                    aModel.addColumn(rsmd.getColumnName(i));
    
             // Loop through the ResultSet and transfer in the Model
                int colNo = rsmd.getColumnCount();
                while(rs.next()){
                 Object[] objects = new Object[colNo];
                 for(int i=0;i<colNo;i++){
                  objects[i]=rs.getObject(i+1);
                  }
                 aModel.addRow(objects);
                }
                
                setSize(600,400);
                setDefaultCloseOperation(EXIT_ON_CLOSE);
                Container window = getContentPane();
                window.setLayout(new BorderLayout());
                JTable aTable = new JTable();
                window.add(aTable, BorderLayout.CENTER);                
                aTable.setModel(aModel);
                setVisible(true);
                
                rs.close();
                st.close();
                cn.close();
            } catch (Exception e) {
                System.out.println("Es ist ein Fehler aufgetreten! " + e.getMessage());
            }

    Die kritische Stelle ist
    Code:
                Class.forName("com.sql.jdbc.Driver").newInstance();
                cn = DriverManager.getConnection( sDbUrl, sUsr, sPwd );
    Ich habe es so aus Anleitungen herauskopiert. Brauche ich einen anderen Treiber? Wie finde ich heraus, welches der korrekte ist?

    Ob null als Username erlaubt ist, weiß ich auch nicht so genau. Wenn ich SQL Server Management Studio öffne und meine Datenbankdatei auswähle, dann lässt mich das Management Studio schon gar keinen Usernamen eingeben - nur das Passwort...

    Ich hoffe mir kann jemand helfen, da ich in dem Bereich für mich absolutes Neuland betrete und den Faden verloren habe!

  • #2
    Hast du das entsprechende JAR deinem Projekt hinzugefügt?

    http://www.mysql.com/downloads/connector/j/

    Der Treiber
    "com.mysql.jdbc.Driver" geht auf eine MySQL Datenbank
    Christian

    Comment


    • #3
      MySql oder MSSql?

      Hallo CLL,

      wie Christian geschrieben hat, brauchst Du eine jar-Datei, die den jdbc-Treiber enthält. Dieser muss zum eingesetzten Datenbankserver passen. Und da bin ich bei Deinem Post unsicher, welchen Du überhaupt einsetzt.
      Der Code
      Class.forName("com.mysql.jdbc.Driver").newInstance ();
      deutet darauf hin, dass es MySql ist. Aber Die jdbc-URL und Dein Hinweis auf das SQL Server Management Studio deutet darauf hin, dass es ein MSSqlServer ist.

      Wenn MySql, dann jar-Datei von Chrisitans Link herunterladen und ins Projekt einbinden. Aufruf im Java-Code: Class.forName("com.mysql.jdbc.Driver").newInstance ()

      Wenn MSSql dann jar-Datei von hier herunterladen: http://msdn.microsoft.com/en-us/sqlserver/aa937724.aspx und ins Projekt einbinden. Aufruf im Java-Code: Class.forName("com.microsoft.jdbc.sqlserver.SQLSer verDriver").newInstance()

      Die Versionsnummer Deines Datenbankservers musst Du auch beachten, damit Du die richtige jar-Datei herunterlädst.

      Gruß ngomo
      http://www.winfonet.eu

      Comment


      • #4
        SQL, da hat wohl die Anleitung schon nen Fehler gehabt.

        Also auf meinem Computer finde ich den Ordner:
        Microsoft SQL Server Compact Edition\v3.5
        Also wohl Version 3.5

        Ich hab jetzt auf Verdacht mal die mittlere Datei von deinem Link heruntergeladen. Dann bei Properties->Add external jar die sqljdbc.jar daraus eingefügt (warums die einmal mit einer 4 hintendran gibt und einmal ohne ist mir schon rätselhaft genug). Jedenfalls hat sich nichts geändert!
        Es ist ein Fehler aufgetreten! com.microsoft.jdbc.sqlserver.SQLServerDriver


        EDIT:
        Hab grad was gelesen, dass es mit der Compact Edition gar nicht geht?!
        Ich hab auf dem PC auch noch nen Ordner Microsoft SQL Server gefunden mit den Unterordnern 80, 90, 100 und MSSQL10.SQLEXPRESS. Aber da find ich weder irgendwas zum starten noch eine Versionsnummer
        Zuletzt editiert von CLL; 30.09.2010, 14:56.

        Comment


        • #5
          Du musst doch wissen, was für Datenbanken installiert sind und wenn es mit der CompactEdition nicht geht....
          Christian

          Comment


          • #6
            1. MS SQL Server Express 2005 oder 2008 von Microsoft laden und installieren
            2. Microsoft SQL Server JDBC Driver 2.0 laden und integrieren oder besser (nehme ich) jTDS - SQL Server and Sybase JDBC driver laden und integrieren

            und alles ist suppppiiiii

            P.S. Was für eine IDE hast Du denn???
            AlexDgG

            Es gibt keine dummen Fragen. Nur dumme Antworten!

            Comment


            • #7
              Ich arbeite mit Eclipse Ganymede

              Ich dachte auch, dass ich mehr als die Compact Edition hab. Zusammen mit Visual Studio 2010 wurde auch irgendwas mit SQL installiert, könnt ich wetten. Aber ich finds nicht...
              Dann muss ich wohl nochmal installieren...

              Comment


              • #8
                einfach mal sqlcmd -S localhost in einer cmd eintippen und den output posten
                AlexDgG

                Es gibt keine dummen Fragen. Nur dumme Antworten!

                Comment


                • #9
                  Originally posted by alexdgg View Post
                  1. MS SQL Server Express 2005 oder 2008 von Microsoft laden und installieren
                  2. Microsoft SQL Server JDBC Driver 2.0 laden und integrieren oder besser (nehme ich) jTDS - SQL Server and Sybase JDBC driver laden und integrieren

                  und alles ist suppppiiiii

                  P.S. Was für eine IDE hast Du denn???

                  Ähhh, wenn ich Java entwickeln will, würde ich mir das MS Geraffel nun nicht installieren.

                  Warum nicht einfach MySQL installieren und gut
                  Christian

                  Comment


                  • #10
                    Die Programme sind alle noch vom Studium so installiert. Ich könnte wetten dass wir da mit der Datenbank gearbeitet haben. Deshalb wundert es mich jetzt, dass das nicht gehen soll!
                    Es muss ja nur auf meinem Computer zum testen laufen!

                    @alexdgg:
                    Der bringt mir "Es konnte keine Verbindung zu SQL Server hergestellt werden
                    ...
                    netzwerkbezogener oder instanzspezifischer Fehler...Server wurde nicht gefunden..."

                    Comment


                    • #11
                      Es muss ja nur auf meinem Computer zum testen laufen!
                      Falls die MS Produkte nicht wollen.....

                      GUI-Tool
                      http://www.mysql.de/downloads/workbench/

                      DB

                      http://www.mysql.de/downloads/mysql/
                      Christian

                      Comment


                      • #12
                        Anscheinend läuft jetzt alles schief...
                        Um den SQL-Server zu installieren hab ich nicht genügend Durchblick.
                        Also hab ich mich für MySQL entschieden und habe über Standard ausgewählt. Und dann das:


                        Was mach ich denn jetzt?

                        Comment


                        • #13
                          Deinstallieren und nochmal versuchen

                          Installierst du das als Admin?

                          Hast du Rechte einen Dienst zu installieren.

                          Im BIN Verzeichnis ist MySQLInstanceConfig-> ggf. damit die Einstellungen ändern

                          Das GUI TOOL starten und über "Server Administration" (rechts) Einstellungen prüfen
                          Christian

                          Comment


                          • #14
                            ja, die Rechte habe ich!

                            Comment


                            • #15
                              Schon tausend Mal gemacht

                              Hallo CLL,

                              ich hab den MySql-Server schon zigfach under Linux und Windows installiert und hatte mit sehr vielem Probleme, aber nicht damit, den Service zu starten. Ich würde mal vermuten, dass es an Deinem System liegt. Wenn Du die Rechte hast, wie Du schreibst, hakt es woanders. Vielleicht hast Du schon MySql und weißt es nur nicht mehr? Meine Vorschläge, wo Du mal schauen kannst:
                              • "netstat -an" in einer Dos-Box eingeben und gucken, ob auf Port 3306 schon was läuft.
                              • Systemsteuerung -> Verwaltung -> Dienste: Schauen, ob es schon einen MySql-Server gibt.
                              • Systemsteuerung -> Verwaltung -> Ereignisanzeige: Dort steht drinnen, wenn Dienste nicht gestartet werden konnten. Vielleicht findest Du ja Nähere Infos


                              Gruß ngomo
                              http://www.winfonet.eu

                              Comment

                              Working...
                              X