Daniel Petratsch: Datenbankverbindung zu Ms Sql Server funktioniert nicht

Beitrag lesen

Hey Slyh,

Folgender Code verursacht immer die Fehlermeldung "java.sql.SQLException: No suitable driver" :
    try
      {
      Class.forName("com.microsoft.jdbc.sqlserver.SQLServerDriver");
      String dburl = "jdbc:microsoft:sqlserver//localhost:1433; DatabaseName=Uni";
      Connection conn = DriverManager.getConnection(dburl,"name","password");
      }
    catch(Exception e)

Schlechte Idee I. Fange nie, nie, nie Exception, Throwable, Error
oder dergleichen ab. Fange immer nur die konkrete Exception.

{
      System.out.println(e);

Schlechte Idee II. Gib nicht nur die Meldung, sondern auch den Stacktrace
aus, damit du auch weißt, was da genau wo für eine Exception auftritt.

e.printStackTrace() ist dein Freund.

Nun, offensichtlich findet Java den JDBC-Treiber für den SqlServer,
da anderenfalls schon bei Class.forName() eine Exception geworfen
werden würde.

Wenn der Treiber also gefunden wird, und dieser tatsächlich für
den SqlServer sein sollte, was in Anbetracht des Klassennamens wohl
nicht so unwahrscheinlich ist, muß der Fehler wohl in der
Connection-URL liegen.
Ich spekuliere einfach mal wild, daß vor den Doppel-Slahes ein
Doppelpunkt fehlt.

Aus
   jdbc:microsoft:sqlserver//localhost:1433
mach
   jdbc:microsoft:sqlserver://localhost:1433

Vielleicht war das schon der ganze Fehler.

Danke Slyh, ich glaube genau dieser vergessene ":" war der Fehler :( , tut mir leid für die Frage, aber den habe ich dann wohl irgendwie übersehen. Ja normalerweise fange ich die Exceptions schon konkreter ab, ich wollte in diesem Fall nur mal auf die Schnelle die Connection aufbauen und testen - trotzdem Vielen Dank für den Tip :)

Bekomme zwar noch einen "no trusted user" Error, aber ich denke der lässt sich beheben :)

Mal noch eine zusätzliche Frage: Weisst du evtl. ob es eine Funktion/Methode gibt, die mir alle auf meinem System derzeit verfügbaren Klassen und Methoden anzeigen lassen kann? Ich wollte nämlich vorher mal die Klasse Management importieren um den "Verbose Output" zu aktivieren, jedoch sagt mir der Compiler immer das dieses Package nicht existiert. Wo liegen denn diese Packages genau, und wie kann ich sie nachinstallieren ? Habe zwar JavaSDK 1.4.2 installiert in dem es laut Doku enthalten sein sollte, es wird aber leider nicht gefunden :(

Vielen Dank ,
freundliche Grüsse,
Daniel

--
Das ist der ganze Jammer, die Dummen sind immer so sicher und die Gescheiten so voller Zweifel.
[Bertrand Russell]