Avatar billede eosfae Nybegynder
21. marts 2008 - 14:11 Der er 7 kommentarer og
1 løsning

MySQL - JAVA - Connector/J

Hejsa

Jeg har igennem længere tid anvendt .NET og MSSQL når det kommer til applikations programmering, men nu har jeg besluttet mig for at anvende Java og MySql istedet. Problemet er sådan set bare, hvordan man får det hele at arbejde sammen.

Jeg har oprettet en database i MySql 5.0 og indtastet data i den.

Jeg har downloadet Connector/J 5.1.6 JDBC driver og har addet stien i CLASSPATH.

Jeg har forsøgt at anvende DriverManager klassen i Java for at anvende Connector/J til at skabe forbindelse til databasen, men den gider ikke rigtig. Koden er følgende:

Class.forName("com.mysql.jdbc.Driver").newInstance();
con = DriverManager.getConnection(url, user, password);

hvor url = jdbc:mysql://localhost/[min db]

Fejlbeskeden er følgende:

java.lang.ClassNotFoundException: com.mysql.jdbc.Driver
    at java.net.URLClassLoader$1.run(Unknown Source)
    at java.security.AccessController.doPrivileged(Native Method)
    at java.net.URLClassLoader.findClass(Unknown Source)
    at java.lang.ClassLoader.loadClass(Unknown Source)
    at sun.misc.Launcher$AppClassLoader.loadClass(Unknown Source)
    at java.lang.ClassLoader.loadClass(Unknown Source)
    at java.lang.ClassLoader.loadClassInternal(Unknown Source)
    at java.lang.Class.forName0(Native Method)
    at java.lang.Class.forName(Unknown Source)
    at search.DB_manager.getJDBCConnection(DB_manager.java:25)
    at search.Test.main(Test.java:13)

Hvad gør jeg galt, og hvordan skal man gøre det rigtigt?
Avatar billede arne_v Ekspert
21. marts 2008 - 14:22 #1
Jar filen er ikke i classpath.

Mit gaet er at du enten har tilfoejet det dir hvor jar filen ligger i.s.f. selve jar filen
til classpath eller at du har brugt den globale CLASSPATH env var som saa ikke bliver brugt
ved den maade du koerer programmet paa.
Avatar billede eosfae Nybegynder
21. marts 2008 - 14:33 #2
Fint nok. Jeg har forsøgt at tilføje jar filen på to måder (som begge var at finde i tutorial):

1) Ved at browse til kontrolpanel/system/advanced/environment variables/ og ændre classpath variable ved at tilføje ";[stien til jar filen]"

2) Ved at skrive i kommandopromten "set classpath=[stien til jar filen]%classpath%"

Begge metoder giver samme fejl.

Er der mon en anden måde man skal gøre det på?
Avatar billede arne_v Ekspert
21. marts 2008 - 14:39 #3
At bruge CLASSPATH env variabel svarer til at smide DLL filer i C:\windows\system32.

Ikke godt.

Naar du koerer programmet saa angive classpath eksplicit:

java -cp .;C:\dir\mysql-connector.jar

eller lignende.

Sidder du og udvikler i Eclipse/NetBeans/anden IDE, saa tilfoejer du jar filen
til classpath inde i IDE'en.
Avatar billede eosfae Nybegynder
21. marts 2008 - 14:42 #4
Jeg sidder og udvikler i Eclipse.  Hvordan tilføjer jeg jar filen inde i IDE'en? (jeg kan nok finde ud af det selv, men hvis du har svaret, så går det meget hurtigere :))
Avatar billede arne_v Ekspert
21. marts 2008 - 14:47 #5
hoejre klik projekt
build path
configure
libraries tab
add external jars
Avatar billede eosfae Nybegynder
21. marts 2008 - 14:57 #6
Det var jo ikke så svært... :)

Tak for hjælpen. Jeg har bare et lille problem mere... hvordan giver jeg dig de 30 point, som du har fortjent?!?
Avatar billede arne_v Ekspert
21. marts 2008 - 15:03 #7
jeg smider et rigtigt svar
Avatar billede oddj0b Nybegynder
20. april 2009 - 19:07 #8
Jeg takker også for hjælpen arne_v, det har jeg godt nok rodet nogle timer med.
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
Computerworld tilbyder specialiserede kurser i database-management

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