Avatar billede peterdamgaard Nybegynder
26. juni 2008 - 17:19 Der er 14 kommentarer og
1 løsning

java MS SQL ClassNotFoundException

Hey

Jeg ved godt der er mange guides og tråde om det her, men nu har jeg søgt i et par timer, og jeg kan bare ikke få det til at virke.

Jeg skal forbinde til en MS SQL database, der ligger online.
min metode ser således ud:

public void connect(){
        String connectionString = "url.dk";
        String login = "login";
        String password = "pass";
        try
        {
            Class.forName("com.microsoft.jdbc.sqlserver.SQLServerDriver");
            Connection conn = DriverManager.getConnection(connectionString, login, password);
            System.out.println("connected");
           
        }
        catch (Exception e)
        {
            e.printStackTrace();
        }
       
    }

Jeg får fejlen ClassNotFoundException.
Jeg har læst noget om at man skal sætte CLASSPATH, men hvordan gør jeg det? jeg udvikler i eclipse.

Jeg håber der er nogen der kan forklare mig hva' jeg gør galt - jeg er ved at gå ud af mit gode skind her

På forhånd tak
Venlig hilsen
Peter Damgaard
Avatar billede arne_v Ekspert
26. juni 2008 - 17:31 #1
du henter og installerer JDBC driver for SQLServer fra Microsoft (der er forskellig for
2000 og 2005 !)

I Eclipse:
  højreklik projekt
  build path
  configure build path
  libraries
  add external library
Avatar billede arne_v Ekspert
26. juni 2008 - 17:33 #2
Det class name du bruger er til 2000.

Til 2005 har de omdøbt klassen til com.microsoft.sqlserver.jdbc.SQLServerDriver !
Avatar billede peterdamgaard Nybegynder
26. juni 2008 - 22:03 #3
Mange tak - så kom jeg så langt i hvert fald

Men nu er jeg så ikke helt klar over hvordan jeg kommer i kontakt med min database, som ligger på surftown.

min connectionstring har jeg så lavet til:
"jdbc:sqlserver://url.dk"
Hvis jeg bare prøvet det, så får jeg følgende fejl efter nogle sekunder:
com.microsoft.sqlserver.jdbc.SQLServerException: The TCP/IP connection to the host  has failed. java.net.ConnectException: Connection timed out: connect

Men jeg skal vel også specificere et sted hvad databasen jeg skal i kontakt med hedder?


Venlig hilsen
Peter Damgaard
Avatar billede arne_v Ekspert
26. juni 2008 - 22:38 #4
URL er af formen:

"jdbc:microsoft:sqlserver://xxx.xxx.xxx;DatabaseName=yyyy"
Avatar billede peterdamgaard Nybegynder
27. juni 2008 - 00:37 #5
okay, så kom jeg i hvert fald lidt videre, men jeg får bare en ny fejl:
java.sql.SQLException: No suitable driver found for jdbc:microsoft:sqlserver://xxx.xxx.xxx;databaseName=yyy;
(Jeg har selvfølgelig skifte x'erne ud med hostname og y'erne med databasenavnet ;-))
Jeg bruger desuden 2005 driveren.
Hvordan med porte, skal det ikke angives? jeg har min database hos surftown, men det virker ikke somom at der er en port til det?

Venlig hilsen Peter Damgaard
Avatar billede arne_v Ekspert
27. juni 2008 - 02:31 #6
2005 så:

class name = "com.microsoft.sqlserver.jdbc.SQLServerDriver"
url = "jdbc:sqlserver://xxx.xxx.xxx;DatabaseName=yyyy"

hvis port er forskellig fra 1433 så:

url = "jdbc:sqlserver://xxx.xxx.xxx;Port=nnnn;DatabaseName=yyyy"
Avatar billede peter_damgaard Nybegynder
27. juni 2008 - 13:57 #7
okay - det var også det jeg prøvede, men så er det at jeg får den der "TCP/IP connection to the host has failed"-fejl.
Men jeg har hørt noget med at det formentlig ikke er muligt at forbinde til surftowns database udefra pga. firewall, det skal foregå fra en webserver eller lign. man har hos dem?
Avatar billede arne_v Ekspert
27. juni 2008 - 14:04 #8
Det er meget almindeligt, at man ikke kan connecte til et web hotels database udefra.
Avatar billede peter_damgaard Nybegynder
27. juni 2008 - 14:46 #9
okay - så må jeg jo hellere ud i det, tak for hjælpen. Hvis du lægger et svar skal du nok få pointne

Venlig hilsen
Peter
Avatar billede arne_v Ekspert
27. juni 2008 - 15:05 #10
svar
Avatar billede peter_damgaard Nybegynder
27. juni 2008 - 18:40 #11
hov, jeg har glemt hvordan man giver pointne?
Avatar billede arne_v Ekspert
27. juni 2008 - 18:53 #12
marker navn ude til venstre i combo box inden du klikker accepter
Avatar billede peter_damgaard Nybegynder
27. juni 2008 - 19:30 #13
øhm, jeg må indrømme at jeg ikke helt kan finde den combo box
Avatar billede arne_v Ekspert
27. juni 2008 - 19:52 #14
Hmmm.

peterdamgaard != peter_damgaard

Du maa nok hellere faa nedlagt det ene brugernavn inden admkn/coadmin ser det. Det er
ikke tilladt med flere brugernavne ifoelge reglerne.
Avatar billede peterdamgaard Nybegynder
27. juni 2008 - 20:06 #15
sådan - det var jeg slet ikke klar over jeg havde, det her var bare en anden computer, og den loggede automatisk ind med det andet - og jeg opdagede det ikke - får lige slettet det med det samme - tak for hjælpen
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Kurser inden for grundlæggende programmering

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester