Avatar billede carstenknudsen Nybegynder
01. juli 2007 - 19:46 Der er 3 kommentarer og
1 løsning

Database adgangsproblem i Tomcat

Jeg har sat en Tomcat 5.0 op som jeg skal bruge offline til at udvikle nogle applikationer i ferien. Tomcat starter fint op (med startup.bat). Problemet opstår når jsp sider vil tilgå databasen. Jeg kører en MySQL der kører på port 3306. Jeg kan tilgå denne via kommandoprompten, den kører fint på port 3306 (ifølge "show variables like '%port%';"). Så langt så godt.
Der bliver så kastet en exception i jsp siden der skal have adgang til databasen. Den er:
javax.servlet.jsp.JspException: javax.servlet.jsp.JspException: Unable to get connection, DataSource invalid: "Communication failure during handshake. Is there a server running on localhost:3306?"
I web.xml (under WEB-INF direktoriet) er adgangen sat op som:
<context-param>
    <param-name> javax.servlet.jsp.jstl.sql.dataSource </param-name>
    <param-value>
jdbc:mysql://localhost:3306/fysik1,org.gjt.mm.mysql.Driver,user,password
    </param-value>
  </context-param>
user,password har de rigtige værdier i web.xml filen.
Det er den samme jeg bruger på forskellige linux servere; der virker det upåklageligt. Alle biblioteker er kopieret fra virkende servere (der kører under linux).
Jeg bruger ikke normalt Windows, derfor er jeg ikke klar over, om der er nogen lokal firewall der kunne stoppe adgangen - hvad den ikke gør for kommandoprompten (jeg har intet kendskab til opsætning af den slags under Windows).
Håber nogen har en ide til problemets løsning.
Mvh Carsten
Avatar billede arne_v Ekspert
02. juli 2007 - 04:16 #1
Tomcat 5.0 er efterhånden en ældre sag.

Det virker som om der mangler en brik til puslespillet.

Der er firewalls til Windows (nyere XP kommer med en og der er adskillige 3. parts
produkter).

Men hvis mysql command line utility og Tomcat kører på samme maskine giver det
jo ikke meget mening at den blokerer for den ene men ikke for den anden.

Medmindre det er en af de firewalls som giver eksplicit adgang til forskellige
programmer og mysql.exe er blevet godkendt mens java.exe ikke er.

Kan du se noget på port 3306 i:

netstat -an

?

Kan du connecte til MySQL fra en standalone Java app ?
Avatar billede carstenknudsen Nybegynder
05. juli 2007 - 18:42 #2
Problemet var, at der var flere biblioteker (.jar filer) der indeholdt versioner af driveren. Da jeg fik fjernet alle gamle versioner og lagt en nyere ind virkede adgangen. Du er velkommen til at lægge et svar.
Avatar billede arne_v Ekspert
06. juli 2007 - 01:01 #3
Nej tak - ikke denne gang.
Avatar billede carstenknudsen Nybegynder
06. juli 2007 - 22:04 #4
Lukker spørgsmålet, tak for kommentarerne.
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