/ Forside / Teknologi / Udvikling / Java / Nyhedsindlæg
Login
Glemt dit kodeord?
Brugernavn

Kodeord


Reklame
Top 10 brugere
Java
#NavnPoint
molokyle 3688
Klaudi 855
strarup 740
Forvirret 660
gøgeungen 500
Teil 373
Stouenberg 360
vnc 360
pmbruun 341
10  mccracken 320
JDBC og MySQL
Fra : Preben


Dato : 02-07-03 22:53

Hej

Jeg har forgæves prøvet at få en MySQL connection op at køre i java, men
det vil ikke lykkes. Jeg har hentet
"mysql-connector-java-3.0.8-stable-bin.jar" fra mysql.com og placeret
denne i "C:\Program Files\j2sdk1.4.1_01\jre\lib\ext" og i "C:\Program
Files\Java\j2re1.4.1_01\lib\ext" da jeg kører Windows XP.

Jeg kan fint kompilere koden, men når jeg prøver at eksekvere filen med
java melder den fejl ved:

Could not load mysql driver.
java.lang.ClassNotFoundException: com.mysql.jdbc.Driver
at java.net.URLClassLoader$1.run(URLClassLoader.java:198)
at java.security.AccessController.doPrivileged(Native Method)
at java.net.URLClassLoader.findClass(URLClassLoader.java:186)
at java.lang.ClassLoader.loadClass(ClassLoader.java:299)
at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:265)
at java.lang.ClassLoader.loadClass(ClassLoader.java:255)
at java.lang.ClassLoader.loadClassInternal(ClassLoader.java:315)
at java.lang.Class.forName0(Native Method)
at java.lang.Class.forName(Class.java:140)
at Klasse.main(Klasse.java:18)
java.sql.SQLException: No suitable driver


Nope, den kan ikke finde driveren. Hvorfor ikke - hvad har jeg gjort galt.

Det er her der fejles i koden:

import java.sql.Connection;
import java.sql.DriverManager;
//import java.sql.PreparedStatement;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.sql.Statement;
import java.sql.DriverManager;

public class Klasse {
public static final String DRIVER = "com.mysql.jdbc.Driver";

<SNIP>

public static void main(String args[]) {
   try {
    Class.forName(DRIVER).newInstance();
   } catch (Exception e) {
    System.err.println("Could not load mysql driver.");
    e.printStackTrace();
   }

<SNIP>

_________


Jeg kan ikke rigtig se hvad der er galt - kan I? Det håber jeg lidt i
kloge mennesker kan!



Mvh / Preben


--
If your Dell laptop is unstable, try change the power supply - it works!


 
 
Thorbjoern Ravn Ande~ (02-07-2003)
Kommentar
Fra : Thorbjoern Ravn Ande~


Dato : 02-07-03 23:01

Preben <64bit@mailme.dk> writes:

> Could not load mysql driver.
> java.lang.ClassNotFoundException: com.mysql.jdbc.Driver

>    try {
>     Class.forName(DRIVER).newInstance();
>    } catch (Exception e) {
>     System.err.println("Could not load mysql driver.");
>     e.printStackTrace();

Fejlen opstår når du forsøger at registere JDBC-driveren (hvilket man
skal).

Prøv at kigge i JAR-filen og se om den klasse du skal bruge den er
der. Alternativt så prøv at tilføje din jar-fil udtrykkeligt til din
CLASSPATH variabel.

--
Thorbjørn Ravn Andersen
http://unixsnedkeren.dk/ravn

Preben (03-07-2003)
Kommentar
Fra : Preben


Dato : 03-07-03 17:00

Thorbjoern Ravn Andersen wrote:
> Preben <64bit@mailme.dk> writes:
>
>
>> Could not load mysql driver.
>> java.lang.ClassNotFoundException: com.mysql.jdbc.Driver
>
>
>>   try {
>>    Class.forName(DRIVER).newInstance();
>>   } catch (Exception e) {
>>    System.err.println("Could not load mysql driver.");
>>    e.printStackTrace();
>
>
> Fejlen opstår når du forsøger at registere JDBC-driveren (hvilket man
> skal).
>
> Prøv at kigge i JAR-filen og se om den klasse du skal bruge den er
> der. Alternativt så prøv at tilføje din jar-fil udtrykkeligt til din
> CLASSPATH variabel.
>

Jeg har tjekket at Driver.class filen ligger i JAR-filen.

Jeg har lagt JAR-filen i "C:\Program Files\j2sdk1.4.1_01\jre\lib\ext",
hvor jeg også har cs1.Jar lagt ind. Således burde det hele virke ganske
automatisk.

Jeg har også prøvet at sætte CLASSPATH="C:\Program
Files\j2sdk1.4.1_01\jre\lib\ext\;D:\Dokumenter\develop\Program\"


Jeg kører som sagt Windows XP, så hvis der er nogen der har erfaring med
Windows XP og JAR-pakker, så vil jeg da gerne høre nærmere!


Mvh / Preben



--
If your Dell laptop is unstable, try change the power supply - it works!


Michael Banzon (03-07-2003)
Kommentar
Fra : Michael Banzon


Dato : 03-07-03 18:14

"Preben" <64bit@mailme.dk> skrev...
> Jeg har også prøvet at sætte CLASSPATH="C:\Program
> Files\j2sdk1.4.1_01\jre\lib\ext\;D:\Dokumenter\develop\Program\"


Prøv at sætte .jar-filen i din classpath... altså vil det, for dit
vedkommende, være noget i stil med:
"C:\Program
Files\j2sdk1.4.1_01\jre\lib\ext\mysql-connector-java-3.0.8-stable-bin.jar"
der skal tilføjes...

/ Michael



Peter Lind (03-07-2003)
Kommentar
Fra : Peter Lind


Dato : 03-07-03 18:22


"Preben" <64bit@mailme.dk> wrote in message
news:3f04530b$0$24641$edfadb0f@dread14.news.tele.dk...
> Thorbjoern Ravn Andersen wrote:
> > Preben <64bit@mailme.dk> writes:
> >
> >> Could not load mysql driver.
> >> java.lang.ClassNotFoundException: com.mysql.jdbc.Driver
>
> Jeg har tjekket at Driver.class filen ligger i JAR-filen.
>
> Jeg har lagt JAR-filen i "C:\Program Files\j2sdk1.4.1_01\jre\lib\ext",
> hvor jeg også har cs1.Jar lagt ind. Således burde det hele virke ganske
> automatisk.

Men det gør det ikke - jeg har endnu til gode at møde en jar-fil, der
fungerer ordentligt som extension. De skal altid ligge direkte i ens
classpath.

> Jeg har også prøvet at sætte CLASSPATH="C:\Program
> Files\j2sdk1.4.1_01\jre\lib\ext\;D:\Dokumenter\develop\Program\"

Det er ikke nok at sætte directoriet med ens jar-fil til at være med i
classpathen, det skal være selve jar-filen, altså

CLASSPATH="C:\Program
Files\j2sdk1.4.1_01\jre\lib\ext\mysql-connector-java-3.0.8-stable-bin.jar;D:
\Dokumenter\develop\Program\"

Men i det hele taget er det bedre at lægge sine jar-filer et sted i nærheden
af resten af projektet, så man f.eks har sit
D:\Dokumenter\develop\mitprojekt directory med følgende struktur

mitprojekt/classes - her ligger alle .class filer, og dette directory gøres
til en del af classpath
mitprojekt/src - her ligger alle .java filer
mitprojekt/lib - her ligger alle de .jar filer, der hver især også er
med i classpath

Det gør det nemmere at adskille de forskellige projekter fra hinanden, og
huske hvilke jar-filer der skal kopieres med hver gang.

Mvh
Peter Lind



Preben (03-07-2003)
Kommentar
Fra : Preben


Dato : 03-07-03 19:56

Peter Lind wrote:
> "Preben" <64bit@mailme.dk> wrote in message
> news:3f04530b$0$24641$edfadb0f@dread14.news.tele.dk...
>
>>Thorbjoern Ravn Andersen wrote:
>>
>>>Preben <64bit@mailme.dk> writes:
>>>
>>>
>>>> Could not load mysql driver.
>>>> java.lang.ClassNotFoundException: com.mysql.jdbc.Driver
>>
>>Jeg har tjekket at Driver.class filen ligger i JAR-filen.
>>
>>Jeg har lagt JAR-filen i "C:\Program Files\j2sdk1.4.1_01\jre\lib\ext",
>>hvor jeg også har cs1.Jar lagt ind. Således burde det hele virke ganske
>>automatisk.
>
>
> Men det gør det ikke - jeg har endnu til gode at møde en jar-fil, der
> fungerer ordentligt som extension. De skal altid ligge direkte i ens
> classpath.
>
>
>>Jeg har også prøvet at sætte CLASSPATH="C:\Program
>>Files\j2sdk1.4.1_01\jre\lib\ext\;D:\Dokumenter\develop\Program\"
>
>
> Det er ikke nok at sætte directoriet med ens jar-fil til at være med i
> classpathen, det skal være selve jar-filen, altså
>
> CLASSPATH="C:\Program
> Files\j2sdk1.4.1_01\jre\lib\ext\mysql-connector-java-3.0.8-stable-bin.jar;D:
> \Dokumenter\develop\Program\"
>
> Men i det hele taget er det bedre at lægge sine jar-filer et sted i nærheden
> af resten af projektet, så man f.eks har sit
> D:\Dokumenter\develop\mitprojekt directory med følgende struktur
>
> mitprojekt/classes - her ligger alle .class filer, og dette directory gøres
> til en del af classpath
> mitprojekt/src - her ligger alle .java filer
> mitprojekt/lib - her ligger alle de .jar filer, der hver især også er
> med i classpath
>
> Det gør det nemmere at adskille de forskellige projekter fra hinanden, og
> huske hvilke jar-filer der skal kopieres med hver gang.
>
> Mvh
> Peter Lind


Har netop fundet ud af, at jeg skulle tilføje det til min classpath når
jeg kører programmet med "-cp".

Hvordan skal jeg compile java-filerne i /mitprojekt/src således at
classfilerne automatisk bliver lagt ind i /mitprojekt/classes



Mvh / Preben



--
If your Dell laptop is unstable, try change the power supply - it works!


Anders K. Olsen (03-07-2003)
Kommentar
Fra : Anders K. Olsen


Dato : 03-07-03 20:46

"Preben" <64bit@mailme.dk> skrev i en meddelelse
news:3f047c4d$0$24658$edfadb0f@dread14.news.tele.dk...
> Hvordan skal jeg compile java-filerne i /mitprojekt/src således at
> classfilerne automatisk bliver lagt ind i /mitprojekt/classes

Du kan bruge -d parameteren til javac. Du kan evt. vælge at gøre det vha.
Ant (jakarta.apache.org/ant)

/Anders



Søg
Reklame
Statistik
Spørgsmål : 177459
Tips : 31964
Nyheder : 719565
Indlæg : 6408193
Brugere : 218881

Månedens bedste
Årets bedste
Sidste års bedste