14. oktober 2004 - 23:12Der er
29 kommentarer og 1 løsning
manglende Jaybird i class library
Jeg er ny i faget mht til database indstalletion. Jeg har delvist indstalleret min JDBC connection. men jeg får stadig fejl ved compilering.
"javax.servlet.ServletException: no jaybird in java.library.path" . Jeg tror at det er classpathen, men jeg ved ikke hvor jeg skal indstallrere og hvor meget der skal indstalleres. er der nogen der kan hjælpe ?
Teknologi, AI og forretning er i centrum på Computerworlds Cloud og AI Festival i København d. 18. og 19. september. Se hele programmet for den store konference om strategisk brug af Cloud og AI på: www.cloud-festival.dk
Normalt skal jar filen være i classpath ved kompilering af servlets & beans og runtime i applikationens WEB-INF/lib (medmindre den skal bruges til connection pool og derfor skal i serverens lib).
der er installeret tomcat server og java SDK 1.4_2 og så har jeg installreret Firebird databasen som fungere fint, jeg har oprettet database via den client der er med. Der efter har jeg lavet en test database som jeg vil konnecte til via den JSP side jeg har arbejdet med. mit side ser således ud:
<%@page contentType="html"%> <%@page pageEncoding="UTF-8"%> <html> <head><title>Gem til database</title></head> <body>
// url strengen til adgangen til databasen conn = "jdbc:firebirdsql:native:localhost/3050:/Documents and Settings/Lars/Skrivebord/sql/BOGDB.GDB";
// opretter forbindelsen til DB //classpath="/Documents and Settings/Lars/Skrivebord/JSP filer/JDBC driver/firebirdsql.jar" Connection Conn = DriverManager.getConnection( conn,User,pass);
//laver en SQL sætning Statement SQLStatement = Conn.createStatement();
//laver forespørgelsen String Query = "SELECT *, navn, FROM kunde";
// her er resultatet ResultSet SQLResult = SQLStatement.executeQuery (Query);
while (SQLResult.next()) { name = SQLResult.getString("navn");
out.println("<tr><td>" + name + "</td><td>"); }
// lukker pænt forbindelsen igen SQLResult.close(); SQLStatement.close(); Conn.close();
jeg har ikke slettet/ ændret noget i PATH det eneste er at jeg har tilføjet er variabel navn: PATH variableværdi: C:/j2sdk1.4.2_05
det er hvad der nu er!
men jeg ved ikke hvad der skulle have været der i forvejen, for min eneste PATH der er, er nemlig den jeg selv har oprettet, jeg har ikke "overskrevet" noget hvis det var det du tænkte :-)
javax.servlet.ServletException: Resource Exception. I/O error for file CreateFile (open) "/Documents and Settings/Lars/Skrivebord/sql/BOGDB.GDB" Error while trying to open file null Reason: I/O error for file CreateFile (open) "/Documents and Settings/Lars/Skrivebord/sql/BOGDB.GDB" Error while trying to open file null
det er hvad den skriver nu efter jeg ændrede path'en så npget må være gået rigtigt,
jeg har lige opdaget en fejl, jeg sidder med 2 computere, så jeg kan refere fra den ene til den anden. windows har en PATH der hedder Path (med små bogstaver), den manglede i ovenstående, men hvis den er case sensitiv så burde jeg ikke kunne overskrive den med PATH ?
Så efter en længere udredning af det der var gået galt fandt jeg endelig ud af hvordan den skulle kringles. men arne send en svar meddelse og få dine 100 points for jeg takker mange gange for din hjælp
jeg ændrede classpathen til "original" windows streng og der kunne jeg tilføje pathen til jaybird.dll 'en og det virkede altså, dertil skulle jeg så ændre driver navnet til FBDriver i stedert for jaybird. Så kommer den ny og brokker sig over at mit SQL er forkert, men det er jo en adne historie :-)
men enud engang tusind tak for din tålmodighed :-D
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.