Avatar billede casualty Nybegynder
11. september 2003 - 20:33 Der er 32 kommentarer og
2 løsninger

JDBC mySql driver og resin

Hej...Er der én der kan give mig et direkte link til hvor jeg kan downloade en jdbcdriver til mysql??

Er det en jar/War/zip -fil eller hvad er det jeg skal have fat i??

Jeg skal bruge den i forbindelse med at jeg har installeret resin og gerne ville lave nogle servlets samt jsp...

Mvh Casualty
Avatar billede tmo Nybegynder
11. september 2003 - 20:36 #1
Avatar billede arne_v Ekspert
11. september 2003 - 20:41 #2
Du kan hente MySQL production JDBC driver her:
  http://www.mysql.com/downloads/api-jdbc-stable.html

Du skal anbringe jar filen du får efter udpakning enten i din
web applikations lib directory eller i serverens lib directory (det
sidste hvis du f.eks. skal bruge container managed security).
Avatar billede casualty Nybegynder
11. september 2003 - 20:41 #3
Øjeblik...jeg kigger
Avatar billede casualty Nybegynder
11. september 2003 - 20:47 #4
Den skal vel også tilføjes i resin.conf ik?
Avatar billede arne_v Ekspert
11. september 2003 - 20:51 #5
jar filen ? Nej !

Hvis du skal bruge en database connection pool (hvilket er en god ting),
så skal du definere en datasource i resin.conf som refererer til
driveren.
Avatar billede casualty Nybegynder
11. september 2003 - 20:52 #6
<resource-ref>
  <res-ref-name>jdbc/test</res-ref-name>
  <res-type>javax.sql.DataSource</res-type>
  <init-param driver-name="com.caucho.jdbc.mysql.Driver"/>
  <init-param url="jdbc:mysql_caucho://localhost:3306/test"/>
  <init-param user=""/>
  <init-param password=""/>
  <init-param max-connections="20"/>
  <init-param max-idle-time="30"/>
</resource-ref>

det har den selv gjort

Men jeg får stadig en "No suitable driver" exception??
Avatar billede arne_v Ekspert
11. september 2003 - 20:55 #7
Det der definerer en data source som peger på en lokal MySQL
database.

Det flytter ikke driveren ind i classpath.

Men du kan selv ligge jar filen i lib directoriet.
Avatar billede arne_v Ekspert
11. september 2003 - 20:56 #8
com.caucho.jdbc.mysql.Driver er iøvrigt Caucho's driver ikke MySQL's egen.

Den er vistnok i lib allerede.
Avatar billede arne_v Ekspert
11. september 2003 - 20:56 #9
MySQL's hedder com.mysql.jdbc.Driver så vidt jeg husker.
Avatar billede casualty Nybegynder
11. september 2003 - 21:02 #10
2 hurtige...

Hvis jeg ændrer noget i en af mine miljøvariabler fx. path eller classpath, skal jeg så genstarte pc´en før ændringerne træder i kraft (Win 2000)?

Hvad er foreskellen på path og classpath?
Avatar billede arne_v Ekspert
11. september 2003 - 21:13 #11
På Win2000 træder ændringerne i kraft for processer der startes
efter ændringen. D eændrer sik ikke for en eksisternde DOS box men for
nye man åbner.

PATH er Windows søge sti (directories) for EXE og DLL filer

CLASSPATH er Javas søge sti (directories og/eller jar filer) for java klasser
Avatar billede casualty Nybegynder
11. september 2003 - 21:14 #12
Det viker bare ikke...Jeg prøvede at lægge Caucho'driver i C:\resin\lib

Og koden i min servlet ser således ud:

DriverManager.getConnection("jdbc:mysql-caucho://10.0.1.239:3306/test", "xxx", "xxx");

=java.sql.SQLException: No suitable driver
Avatar billede arne_v Ekspert
11. september 2003 - 21:18 #13
Prøv med underscore i.s.f. binde-streg !
Avatar billede arne_v Ekspert
11. september 2003 - 21:19 #14
DriverManager.getConnection("jdbc:mysql_caucho://10.0.1.239:3306/test", "xxx", "xxx");
Avatar billede casualty Nybegynder
11. september 2003 - 21:22 #15
Det er det samme?? Jeg forstår det ikke?? Jeg har enda også tilføjet driveren i min path
Avatar billede arne_v Ekspert
11. september 2003 - 21:30 #16
Og du har også en:

Class.forName("com.caucho.jdbc.mysql.Driver");

inden ?
Avatar billede casualty Nybegynder
11. september 2003 - 21:34 #17
Nej..der havde jeg et hængeparti...Den stod til en anden driver... Nu er det ændret...Dog får jeg en anden Exception nu...:

java.lang.NoClassDefFoundError: com/caucho/vfs/LogStream
Avatar billede arne_v Ekspert
11. september 2003 - 21:38 #18
Ah - nu sker der noget !

Du har downloadet en ny MySQL JDBC driver fra Caucho ? Og smidt den
i lib ?

Gæt: den hører til en anden version af MySQL end den du har.

Mulig løsning: prøv og fjern den igen (forudsætter at du ikke har overskrevet
den der lå der iforvejen).
Avatar billede casualty Nybegynder
11. september 2003 - 21:43 #19
den kommer med samme Exception selvom jeg sletter driveren...

Der ligger nogle stykker.. den ene hedder "jdbc-mysql.jar" Kan det give noget at prøve at sætte min servlet op til den?? Og i så fald hvad skal der stå i koden?
Avatar billede arne_v Ekspert
11. september 2003 - 21:46 #20
Du kan ikke sådan umiddelbart kontrollere hvor du henter tingene (du kan lave
din egen classloader, men det er vist at jage fluer med leopard
kampvogne !).

Det bør virke med en out-of-the-box resin.

Du har ikke noget i CLASSPATH der laver kage i det ?
Avatar billede casualty Nybegynder
11. september 2003 - 21:49 #21
Det eneste der ligger i CLASSPATH = c:\jdbcdrivere
en mappe jeg har lavet hvor jeg har lagt de drivere der også ligger i resin\lib
Avatar billede arne_v Ekspert
11. september 2003 - 21:52 #22
Et dir der indeholder jar filer har ikke nogen effekt i CLASSPATH
overhovedet, så det kan ikke være det.
Avatar billede arne_v Ekspert
11. september 2003 - 21:56 #23
Avatar billede casualty Nybegynder
11. september 2003 - 21:56 #24
OK...Øv... Det gør ikke nogen forskel at jeg har bundlet min resin med en apache server??

Jeg har også lagt driverne i "j2sdk1.4.2/jre/lib/ext/" Min lærer sagde at det var et sted java´en selv ville kigge...
Avatar billede casualty Nybegynder
11. september 2003 - 21:58 #25
De snakker om den driver som du startede med at henvise til..
Avatar billede arne_v Ekspert
11. september 2003 - 21:59 #26
Næppe.

Det er korrekt. Men en uskik.
Avatar billede casualty Nybegynder
11. september 2003 - 22:05 #27
Ok...Jeg hentede den og pakkede den ud....Inden i finder jeg :
"mysql-connector-java-3.0.8-stable-bin.jar" Hvorledes skal mit "Class.forName"
kald samt "DriverManager.getConnection" se ud?? Jeg går ud fra at det er den jarfil der er driveren..

PS: Jeg skal nok smide nogle flere points oveni...(Det begynder at blive omfattende det her)
Avatar billede casualty Nybegynder
11. september 2003 - 22:12 #28
Ha...Nu kører det....Jeg fandt det selv:

Class.forName("com.mysql.jdbc.Driver");
Connection connection = DriverManager.getConnection("jdbc:mysql://10.0.1.239/test?user=xxx&password=xxx");
Avatar billede arne_v Ekspert
11. september 2003 - 22:13 #29
jar fil til lib directory
class name = com.mysql.jdbc.Driver
URL = "jdbc:mysql://10.0.1.239:3306/test"
Avatar billede casualty Nybegynder
11. september 2003 - 22:13 #30
Kan man ikke putte flere points i et spørgsmål så der er flere at dele ud af?
Avatar billede arne_v Ekspert
11. september 2003 - 22:16 #31
Det mener jeg godt at man kan.
Avatar billede arne_v Ekspert
11. september 2003 - 22:16 #32
Avatar billede arne_v Ekspert
11. september 2003 - 22:17 #33
Og godt at det kører !

:-)
Avatar billede casualty Nybegynder
11. september 2003 - 22:23 #34
Tak til jer begge :)
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