|
| 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
| |
|
|