Avatar billede overgaard1605 Nybegynder
03. maj 2005 - 20:02 Der er 17 kommentarer og
1 løsning

connect til mysql database

Jeg har et problem med at connecte til min database igennem netbeans. jeg er rimelig ny inden for java programmering og kan ikke rigtig finde fejlen. min kode ser sådan her ud

Class.forName("com.mysql.jdbc.Driver");
        Connection con = DriverManager.getConnection("jdbc:mysql://localhost/ansatte","root","dsb");
        Statement stmt = con.createStatement();
        ResultSet rs = stmt.executeQuery("SELECT fornavn, efternavn, titel FROM ansatte");

det er en tomcat server der kører i netbeans, ved ikke om det er den der laver problemer...
er der nogle der kan hjælpe??
Avatar billede arne_v Ekspert
03. maj 2005 - 20:06 #1
Hvilken fejl får du ?
Avatar billede overgaard1605 Nybegynder
03. maj 2005 - 20:30 #2
type Exception report

message

description The server encountered an internal error () that prevented it from fulfilling this request.

exception

javax.servlet.ServletException: org/aspectj/lang/Signature
    org.apache.jasper.runtime.PageContextImpl.doHandlePageException(PageContextImpl.java:825)
    org.apache.jasper.runtime.PageContextImpl.handlePageException(PageContextImpl.java:758)
    org.apache.jsp.index_jsp._jspService(index_jsp.java:84)
    org.apache.jasper.runtime.HttpJspBase.service(HttpJspBase.java:94)
    javax.servlet.http.HttpServlet.service(HttpServlet.java:802)
    org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:324)
    org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:292)
    org.apache.jasper.servlet.JspServlet.service(JspServlet.java:236)
    javax.servlet.http.HttpServlet.service(HttpServlet.java:802)
    org.netbeans.modules.web.monitor.server.MonitorFilter.doFilter(MonitorFilter.java:362)


root cause

java.lang.NoClassDefFoundError: org/aspectj/lang/Signature
    java.lang.Class.forName0(Native Method)
    java.lang.Class.forName(Class.java:164)
    org.apache.jsp.index_jsp._jspService(index_jsp.java:53)
    org.apache.jasper.runtime.HttpJspBase.service(HttpJspBase.java:94)
    javax.servlet.http.HttpServlet.service(HttpServlet.java:802)
    org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:324)
    org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:292)
    org.apache.jasper.servlet.JspServlet.service(JspServlet.java:236)
    javax.servlet.http.HttpServlet.service(HttpServlet.java:802)
    org.netbeans.modules.web.monitor.server.MonitorFilter.doFilter(MonitorFilter.java:362)


note The full stack trace of the root cause is available in the Apache Tomcat/5.0.28 logs.
Avatar billede arne_v Ekspert
03. maj 2005 - 20:32 #3
Det lyder som om Tomcat ikke kan finde MySQL JDBC driver jar filen !

Hvor har du smidt den ?
Avatar billede overgaard1605 Nybegynder
03. maj 2005 - 20:41 #4
jeg har lagt dem 2 steder.

C:\Program Files\Java\jdk1.5.0_02\jre\lib\ext

C:\Program Files\netbeans-4.0\nb4.0\jakarta-tomcat-5.0.28\webapps\ROOT\WEB-INF\lib

ved ikke om de skal ligges et andet sted
Avatar billede overgaard1605 Nybegynder
03. maj 2005 - 20:42 #5
og filen hedder

mysql-connector-java-3.1.8-bin.jar
Avatar billede arne_v Ekspert
03. maj 2005 - 20:50 #6
rigtig fil

slet den kopi i jre\lib\ext

webapps\ROOT\WEB-INF\lib er rigtig hvis du arbejder i ROOT webapp

ellers er det jo webapps\dinapp\WEB-INF\lib
Avatar billede overgaard1605 Nybegynder
03. maj 2005 - 20:59 #7
nu har jeg slettet den det ene sted, men det virker stadig ikke...
hvad vil det sige om jeg arbejder i root eller dinapp...
kan det passe jeg slet ikke har et bibliotek der hedder dinapp
Avatar billede arne_v Ekspert
03. maj 2005 - 21:09 #8
dinapp er navnet på din web applikation

og din JSP side må jo enten ligge i ROOT eller i en seperat web app
Avatar billede overgaard1605 Nybegynder
03. maj 2005 - 21:15 #9
min applikation hedder DBconnetionTest og ligger på et andet drev i forhold til hvor netbeans er installeret, kan det have noget at sige
Avatar billede arne_v Ekspert
03. maj 2005 - 21:29 #10
Hmm.

Jeg har aldrig labet web app i NetBeans.

Laver den en war fil ?
Avatar billede overgaard1605 Nybegynder
03. maj 2005 - 21:35 #11
nej det ser det ikke ud til, der ligger ingen inde i selve projekt mappen
Avatar billede overgaard1605 Nybegynder
03. maj 2005 - 22:07 #12
hvis jeg laver det i en almindelig java fil får jeg følgende fejl når jeg compilere

D:\IT teknolog\Java\projekt\test\test\src\NewMain.java:13: unreported exception java.lang.ClassNotFoundException; must be caught or declared to be thrown
        Class.forName("org.gjt.mm.mysql.Driver");
D:\IT teknolog\Java\projekt\test\test\src\NewMain.java:14: unreported exception java.sql.SQLException; must be caught or declared to be thrown
        Connection con = DriverManager.getConnection("jdbc:mysql://localhost:3306/ansatte","root","dsb");
Avatar billede arne_v Ekspert
03. maj 2005 - 22:13 #13
ja

de 2 skal enten catches eller erklæres
Avatar billede arne_v Ekspert
03. maj 2005 - 22:15 #14
Class.forName("com.mysql.jdbc.Driver");

er iøvrigt mere korrekt end

Class.forName("org.gjt.mm.mysql.Driver");

det er mange år siden at det var org.gjt som maintainede MySQL JDBC (det er
samme kode og det vist også samme mand men MySQL AB ansatte ham)
Avatar billede overgaard1605 Nybegynder
03. maj 2005 - 22:20 #15
jeg er som sagt newbie til java..:)
hvordan erklærer eller catches den
Avatar billede arne_v Ekspert
03. maj 2005 - 22:29 #16
try {
            // JDBC kode her
      } catch (ClassNotFoundException e) {
            e.printStackTrace();
      } catch (SQLException e) {
            e.printStackTrace();
      }
Avatar billede overgaard1605 Nybegynder
04. maj 2005 - 14:23 #17
så fik jeg det langt om længe til at virke.. Det havde noget at gøre med hvor den driver fil skulle ligge henne, jeg læste mig præsic til hvor den skulle ligge inde på netbeans hjemmeside, men smid lige et svar så får du dine point fordi du satte mig på rette vej..:)
Avatar billede arne_v Ekspert
04. maj 2005 - 14:36 #18
kommer her
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