Jdbc

hallo,
ich möchte eien JSP-Datei schreiben die eine acces-tabelle(datenbank gespeichert auf festplatte) in form html-document ausgibt.
ich muss zuerst den DRIVER laden aber ich weiss nicht welche pfad oder was .
ich habe einen beispiel gesehen der so ausiehst:



String DRIVER =""; // was soll drin in " "stehen.

String URL =„jdbc:idb:d:/Programme/Apache Tomcat 4.0/webapps/test/test.mdb“;

//connection

Class.forName(DRIVER);
Connection con = null;

Hi,

sciher hilft dir dieser Link weiter:
http://edmundk.de/200X/jdbc.html

Ciao, Bill

hallo,

ich habe die seite angecookt aber ich habe nicht verstanden was man in das parameter von Class.forName(parameter) eintragen soll.
kann mir bitte jemand helfen.

  1. jdbc odbc bridge laden und initialisieren

Class.forName(„sun.jdbc.odbc.JdbcOdbcDriver“);

der aufruf der methode newInstance() ist nicht erforderlich.

  1. jdbc Connection herstellen

String url = „jdbc:odbc:name“;
String user = „user“;
String password = „password“;
Connection connection = DriverManager.getConnection(url, user, password);

in der URL statt name den DSN (ODBC) namen eintragen, user und passwort natürlich auch entsprechend ersetzen

hallo,
ich habe es probiert aber ich bekomme die fehlermeldung:

javax.servlet.ServletException: No suitable driver
at org.apache.jasper.runtime.PageContextImpl.handlePageException(PageContextImpl.java:471)
at org.apache.jsp.datenbank$jsp._jspService(datenbank$jsp.java:164)
at org.apache.jasper.runtime.HttpJspBase.service(HttpJspBase.java:107)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:853)
at org.apache.jasper.servlet.JspServlet$JspServletWrapper.service(JspServlet.java:201)
at org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:381)
at org.apache.jasper.servlet.JspServlet.service(JspServlet.java:473)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:853)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:247)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:193)
at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:243)
at org.apache.catalina.core.StandardPipeline.invokeNext(StandardPipeline.java:566)
at org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:472)
at org.apache.catalina.core.ContainerBase.invoke(ContainerBase.java:943)
at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:190)
at org.apache.catalina.core.StandardPipeline.invokeNext(StandardPipeline.java:566)
at org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:472)
at org.apache.catalina.core.ContainerBase.invoke(ContainerBase.java:943)
at org.apache.catalina.core.StandardContext.invoke(StandardContext.java:2347)
at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:180)
at org.apache.catalina.core.StandardPipeline.invokeNext(StandardPipeline.java:566)
at org.apache.catalina.valves.ErrorDispatcherValve.invoke(ErrorDispatcherValve.java:170)
at org.apache.catalina.core.StandardPipeline.invokeNext(StandardPipeline.java:564)
at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:170)
at org.apache.catalina.core.StandardPipeline.invokeNext(StandardPipeline.java:564)
at org.apache.catalina.valves.AccessLogValve.invoke(AccessLogValve.java:468)
at org.apache.catalina.core.StandardPipeline.invokeNext(StandardPipeline.java:564)
at org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:472)
at org.apache.catalina.core.ContainerBase.invoke(ContainerBase.java:943)
at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:174)
at org.apache.catalina.core.StandardPipeline.invokeNext(StandardPipeline.java:566)
at org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:472)
at org.apache.catalina.core.ContainerBase.invoke(ContainerBase.java:943)
at org.apache.catalina.connector.http.HttpProcessor.process(HttpProcessor.java:1027)
at org.apache.catalina.connector.http.HttpProcessor.run(HttpProcessor.java:1125)
at java.lang.Thread.run(Thread.java:479)

root cause

java.sql.SQLException: No suitable driver
at java.sql.DriverManager.getConnection(DriverManager.java:532)
at java.sql.DriverManager.getConnection(DriverManager.java:194)
at org.apache.jsp.datenbank$jsp._jspService(datenbank$jsp.java:82)
at org.apache.jasper.runtime.HttpJspBase.service(HttpJspBase.java:107)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:853)
at org.apache.jasper.servlet.JspServlet$JspServletWrapper.service(JspServlet.java:201)
at org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:381)
at org.apache.jasper.servlet.JspServlet.service(JspServlet.java:473)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:853)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:247)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:193)
at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:243)
at org.apache.catalina.core.StandardPipeline.invokeNext(StandardPipeline.java:566)
at org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:472)
at org.apache.catalina.core.ContainerBase.invoke(ContainerBase.java:943)
at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:190)
at org.apache.catalina.core.StandardPipeline.invokeNext(StandardPipeline.java:566)
at org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:472)
at org.apache.catalina.core.ContainerBase.invoke(ContainerBase.java:943)
at org.apache.catalina.core.StandardContext.invoke(StandardContext.java:2347)
at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:180)
at org.apache.catalina.core.StandardPipeline.invokeNext(StandardPipeline.java:566)
at org.apache.catalina.valves.ErrorDispatcherValve.invoke(ErrorDispatcherValve.java:170)
at org.apache.catalina.core.StandardPipeline.invokeNext(StandardPipeline.java:564)
at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:170)
at org.apache.catalina.core.StandardPipeline.invokeNext(StandardPipeline.java:564)
at org.apache.catalina.valves.AccessLogValve.invoke(AccessLogValve.java:468)
at org.apache.catalina.core.StandardPipeline.invokeNext(StandardPipeline.java:564)
at org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:472)
at org.apache.catalina.core.ContainerBase.invoke(ContainerBase.java:943)
at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:174)
at org.apache.catalina.core.StandardPipeline.invokeNext(StandardPipeline.java:566)
at org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:472)
at org.apache.catalina.core.ContainerBase.invoke(ContainerBase.java:943)
at org.apache.catalina.connector.http.HttpProcessor.process(HttpProcessor.java:1027)
at org.apache.catalina.connector.http.HttpProcessor.run(HttpProcessor.java:1125)
at java.lang.Thread.run(Thread.java:479)


Wie sieht dein Code konkret aus?
Wenn es die Klasse nicht gäb müsste er schon bei Class.forName auf die Schnauze fallen und nicth erst bei getConnection.

hallo,
das ist mein ganzes code:

Datenbank anzeigen

Hallo,

String DRIVER =„sun.jdbc.odbc.JdbcOdbcDriver“;

String URL =„jdbc:idb:d:/youssef/attract/test.mdb“;

Das muß natürlich jdbc:odbc:d:/youssef/attract/test.mdb";

heißen, sonst findet er den Treiber ja nicht.
Was ist denn idb?, oder ist das nur ein Tippfehler?

Gruß,
Heinz

das idb scheint irgendwas ganz seltsames zu sein :wink:
dazuhin muss da der ODBC DSN Name hin, den du in der Systemsteuerung konfigurierst und nicht ein Pfad zur Datei.

Grüße
Bruno

Hallo,

ja du hast recht.
ich habe diese fehler schon entdeckt aber trotzdem funktioniert nicht.

Hallo,

je nach dem unter welchen OS du arbeitest kannst/mußt du noch in den ODBC Einstellungen (unter Systemsteuerung) deine Datenbank einrichten.
Dann kann man die DatenbankURL wie folgt angeben :
String URL =„jdbc:odbc:‚name der Datenbank‘“;

Eine URL mit Link aufs Filesystem habe nicht noch nicht gesehen/verwendet. (Ich weiß gar nicht, ob es so geht)

Gruß,
Mathias

[Bei dieser Antwort wurde das Vollzitat nachträglich automatisiert entfernt]

das idb scheint irgendwas ganz seltsames zu sein :wink:

Das idb steht für InstantDB.
Dort kann neben odbc eben auch msql oder anderes stehen :smile:

Ciao, Bill

du hast recht.
ich habe mein code koriegiert aber ich bekomme immer eine fehler:

Datenbank anzeigen

die fehlermeldung ist:

javax.servlet.ServletException: [Microsoft][ODBC Microsoft Access Driver] 1 Parameter wurden erwartet, aber es wurden zu wenig Parameter übergeben.
at org.apache.jasper.runtime.PageContextImpl.handlePageException(PageContextImpl.java:471)
at org.apache.jsp.datenbank$jsp._jspService(datenbank$jsp.java:161)
at org.apache.jasper.runtime.HttpJspBase.service(HttpJspBase.java:107)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:853)
at org.apache.jasper.servlet.JspServlet$JspServletWrapper.service(JspServlet.java:201)
at org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:381)
at org.apache.jasper.servlet.JspServlet.service(JspServlet.java:473)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:853)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:247)

kannst du mir bitte helfen.