Jeg forsøger at lære server-side Java, men kan simpelthen ikke få hul igennem til mySQL-databasen. Jeg bruger Eclipse som IDE og når jeg prøver at sætte driveren op får jeg følgende fejlmeddelelse:
"com.mysql cannot be resolved to a type"
Umiddelbart tænker jeg at det har med min JDBC-driver at gøre. Jeg har smidt den i:
/Library/Frameworks/JavaVM.framework/Versions/1.5.0/Home
og i
/workspace/"projektnavn"/WebContent/WEB-INF/lib/
Driveren hedder mysql-connector-java-5.1.7-bin.jar og er den samme som på en PC (men det bør vel heller ikke betyde noget?)
Jeg har fundet nogle forskellige guides til hvordan JDBC-driveren skulle installeres, men de nyeste går på at man blot skal placere den i lib-mappen i Java Home - dog kan der være rettighedsproblemer, hvilket jeg da også konstaterede og fiksede.
Nogen forslag til hvad der kan være galt?
Koden ser således ud
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 | import java.io.*; import javax.servlet.*; import javax.servlet.http.*; import java.sql.*; public class GastbuchSummerEdition extends HttpServlet { private static final long serialVersionUID = 1L; public GastbuchSummerEdition() { super(); } protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { com.mysql.jdbc.Driver dr = new com.mysql.jdbc.Driver(); DriverManager.registerDriver(dr); Connection conn = DriverManager.getConnection("jdbc:mysql://localhost/minDB","user","password"); response.setContentType("text/html"); PrintWriter out = response.getWriter(); out.println("<html><head><title>Gæstebog</title></head><body><h1>Gæstebog</h1></body></html>"); } protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { } } |
Tilføjelse:
Det er faktisk lige lykkedes mig at få "hul igennem" på databasen i Eclipse, når jeg bruger "Database Development"-perspektivet (hvilket ve er et slags administrationsværktøj). Derfra kan jeg "oprette ny MySQL", hvorefter jeg så bliver spurgt hvor JDBC-driveren ligger, hvad adressen på serveren er etc., og så kan jeg sende queries til min database uden problemer.
Desværre har dette ikke indflydelse på mit forsøg på at sende queries fra selve koden - den melder stadig ovenstående fejlmeddelelse, men måske jeg bare mangler at sætte JDBC-driveren rigtigt op i Eclipse?
2 kommentarer
Hey.
Eneste indskydelse jeg lige har, er at du lige skal tjekke om dit java projekt har en association til lib folderen.
Jeg har oplevet at projekter jeg har haft flyttet, eller updateret har haft mistet referencen til WEB-INF/lib, som så lige skulle gendannes igen i build pathen.
Derud over er det svært lige at sige hvad det ellers kunne være.
Når du har .jar filen refereret kan du så "se" eller rettere "bruge" nogle af mysql typerne? -> - eller det er måske der fejlen kommer.
Personligt bruger jeg HSQLDB, synes det er en fantastisk database. Den er skrevet i Java, og kan køre ren in-memory, eller som server afhængig af behov.
Så den kan du jo have som back-up hvis du ikke får det til at spille.
Cheers
Asger
Hej Asger,
Tak for hjælpen. Jeg har faktisk fået det til at virke. Er ikke sikker på om det er det samme du hentyder til, men jeg var ikke lige klar over at JDBC-driveren skulle tilføjes inde i min JAVA build path under properties for projektet... vist en typisk begynderfejl, men nu spiller det og det er superfedt.
HSQLDB lyder spændende, men ny kører MySQL, så det må vist blive en anden gang