Veröffentlicht 1. November 200222 j Hallo, ich versuche gerade auf eine Oracle Datenbank mit JSP zuzugreifen, habe aber das Problem das diese Fehlermeldung kommt: HTTP Status 500 - -------------------------------------------------------------------------------- type Exception report message description The server encountered an internal error () that prevented it from fulfilling this request. exception org.apache.jasper.JasperException: oracle.jdbc.driver.OracleDriver at org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:248) at org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:289) at org.apache.jasper.servlet.JspServlet.service(JspServlet.java:240) 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:260) at org.apache.catalina.core.StandardPipeline$StandardPipelineValveContext.invokeNext(StandardPipeline.java:643) at org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:480) at org.apache.catalina.core.ContainerBase.invoke(ContainerBase.java:995) usw. Bei mir läuft der Apache Tomcat Server 4.1.12. Der Zugriff auf normale JSP-Sites die bei den Beispielen dabei waren funktiert auch. Bei mir ist wahrscheilich der Datenbankzugriff das Problem ! Hier mein Source Code: <html> <body> <%@ page import = "java.sql.*" isThreadSafe="false" %> <% String sDbDrv = "org.gjt.mm.mysql.Driver"; String sDbUrl = "jdbc:mysql://localhost:3306/test"; String sUsr = ""; String sPwd = ""; String sTable = "TestTabelle"; String sSql = ""; if( request.getParameterNames().hasMoreElements() == true ) { sDbDrv = request.getParameter( "prmDbDrv" ); sDbUrl = request.getParameter( "prmDbUrl" ); sUsr = request.getParameter( "prmUsr" ); sPwd = request.getParameter( "prmPwd" ); sTable = request.getParameter( "prmTab" ); sSql = request.getParameter( "prmSql" ); if( null != sTable && 0 < sTable.length() && (null == sSql || 0 == sSql.length()) ) sSql = "SELECT * FROM " + sTable; } %> <form method="post"><pre> Db-Treiber <input type="text" name="prmDbDrv" value='<%= sDbDrv %>' size=60><br> Db-URL <input type="text" name="prmDbUrl" value='<%= sDbUrl %>' size=60><br> Benutzer <input type="text" name="prmUsr" value='<%= sUsr %>' size=60><br> Kennwort <input type="password" name="prmPwd" value='<%= sPwd %>' size=60><br> Tabellenname <input type="text" name="prmTab" value='<%= sTable %>' size=60><br> SQL-Kommando <input type="text" name="prmSql" value='<%= sSql %>' size=60> (nach Änderung anderer Parameter muss SQL-Kommando gelöscht werden)<br> <input type="submit" name="submit" value="Datenbanktabelle anzeigen"> </pre></form> <% if( request.getParameterNames().hasMoreElements() == true && null != sDbDrv && 0 < sDbDrv.length() && null != sDbUrl && 0 < sDbUrl.length() && null != sSql && 0 < sSql.length() ) { Class.forName( sDbDrv ); Connection cn = DriverManager.getConnection( sDbUrl, sUsr, sPwd ); java.sql.Statement st = cn.createStatement(); ResultSet rs = st.executeQuery( sSql ); ResultSetMetaData rsmd = rs.getMetaData(); int n = rsmd.getColumnCount(); out.println( "<table border=1 cellspacing=0><tr>" ); for( int i=1; i<=n; i++ ) // Achtung: erste Spalte mit 1 statt 0 out.println( "<th>" + rsmd.getColumnName( i ) + "</th>" ); while( rs.next() ) { out.println( "</tr><tr>" ); for( int i=1; i<=n; i++ ) // Achtung: erste Spalte mit 1 statt 0 out.println( "<td>" + rs.getString( i ) + "</td>" ); } out.println( "</tr></table>" ); rs.close(); st.close(); cn.close(); } %> </body> </html> Vielleicht habt Ihr eine Idee an was das liegen kann ? Ich komm einfach nicht mehr weiter. Schon im voraus vielen Dank für eure Hilfe !!! P.S: Sorry für das lange Posting !
17. Juni 200322 j Hi! Ich sitze hier gerade und bekomme beim gleichen Problem auch diesen Fehler. Schade das noch keiner ne Lösung für das Problem hat. Gruß SteverBo
17. Juni 200322 j Hallo, was heisst gleiches Problem? Hast du das fehlerhafte Skript einfach kopiert? Poste doch mal deinen Code. Datenbankabfragen in JSPs halte ich für problematisch. JSPs sollte man imho nur für die Darstellung benutzen. Die Logik und Persistence würde ich in Servlets, Beans oder EJB kapseln. Gruß Jaraz
Archiv
Dieses Thema wurde archiviert und kann nicht mehr beantwortet werden.