Usando Banco no JSP

9 respostas
R

Bom dia galera, to com arquivo JSP que ta acessando o Banco SQL 7.0 via ODBC, quando rodo a pagina pelo tom cat da erro. Alguem poderia dar uma olhadinha no meu codigo e dizer o q ta errado?

<%@ page import = "java.sql.Driver" %>
<%@ page session = "false" %>

<%
  try {
			  
  Driver d = (Driver)Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");			
				 	
  System.out.println("Carregando drive");
}
catch (ClassNotFoundException e){
  System.out.println(e.toString());
}
%>	
				
<html>
<head>
<title>todos usuarios</title>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
</head>

<body>
<%
String SQL = "Select func_nome, func_id" + " from funcionario";

try {
  Connection con = DriverManager.getConnection("jdbc:odbc:sucao","sa","");	
  Statement stm = con.createStatement();
  ResultSet rs = stm.executeQuery(SQL);
 
   while(rs.next()){
    
%>
	
<%
   String nome = rs.getString("func_nome"); %>
<%					
   String id = rs.getString("func_id");
%>

<% System.out.println("Id: "+id+" Nome: "+nome); %>

<%
  }
  rs.close();
  stm.close();
  con.close();
}
catch(SQLException e){
}
catch(Exception e ){
}

%>
</body>
</html>

[color="red"][size="11"]* Atenção, utilize sempre a tag CODE em seus códigos para uma melhor identação e legibilidade - matheus[/size][/color]

9 Respostas

F

troca <%@ page import = “java.sql.Driver” %>

por <%@ page import = “java.sql.*” %>

qual a mensagem de erro q tava aparecendo

R

o erro q ta dando é esse:

org.apache.jasper.JasperException: Unable to compile class for JSP

An error occurred at line: 6 in the jsp file: /consulta.jsp

Generated servlet error:
[javac] Compiling 1 source file

C:\Arquivos de programas\Apache Software Foundation\Tomcat 5.0\work\Catalina\localhost\exemplo\org\apache\jsp\consulta_jsp.java:49: inconvertible types
found : java.lang.Class
required: java.sql.Driver
Driver d = (Driver)Class.forName(“sun.jdbc.odbc.JdbcOdbcDriver”);
^
1 error

org.apache.jasper.compiler.DefaultErrorHandler.javacError(DefaultErrorHandler.java:127)
org.apache.jasper.compiler.ErrorDispatcher.javacError(ErrorDispatcher.java:351)
org.apache.jasper.compiler.Compiler.generateClass(Compiler.java:415)
org.apache.jasper.compiler.Compiler.compile(Compiler.java:458)
org.apache.jasper.compiler.Compiler.compile(Compiler.java:439)
org.apache.jasper.JspCompilationContext.compile(JspCompilationContext.java:553)
org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:291)
org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:301)
org.apache.jasper.servlet.JspServlet.service(JspServlet.java:248)
javax.servlet.http.HttpServlet.service(HttpServlet.java:856)

note The full stack trace of the root cause is available in the Tomcat logs.

“fgtoledo”:
troca <%@ page import = “java.sql.Driver” %>

por <%@ page import = “java.sql.*” %>

qual a mensagem de erro q tava aparecendo

F

;;

R

“New__Radical”:
“RafaeldeFreitasSantos”:
C:\Arquivos de programas\Apache Software Foundation\Tomcat 5.0\work\Catalina\localhost\exemplo\org\apache\jsp\consulta_jsp.java:49: inconvertible types
found : java.lang.Class
required: java.sql.Driver
Driver d = (Driver)Class.forName(“sun.jdbc.odbc.JdbcOdbcDriver”);
^
1 error

Vc deu uma lida no erro?! :roll:

Li mas não entendi!!!

R

Não entendi!!! :frowning:

R

ALGUEM PODE ME AJUDAR?

Não entendi!!! :(

J

Fala cara…

Eu nem tou me lembrando se o método static forName(String s) da classe Class tem retorno, e se tem eu nem lembro qual é.

Mas tipo… o erro tah acusando que o retorno do método não pode ser convertido em um objeto Driver.

O método forName(String s) serve pra carregar determinada classe na memória. Você não precisa guardar uma referência ao retorno dela pra obter o mesmo efeito. Sendo assim, basta fazer:

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

Teh mais :slight_smile:

R

“JoaoPaulo”:
Fala cara…

Eu nem tou me lembrando se o método static forName(String s) da classe Class tem retorno, e se tem eu nem lembro qual é.

Mas tipo… o erro tah acusando que o retorno do método não pode ser convertido em um objeto Driver.

O método forName(String s) serve pra carregar determinada classe na memória. Você não precisa guardar uma referência ao retorno dela pra obter o mesmo efeito. Sendo assim, basta fazer:

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

Teh mais :)

vou tentar, valeu fera

N

“RafaeldeFreitasSantos”:
C:\Arquivos de programas\Apache Software Foundation\Tomcat 5.0\work\Catalina\localhost\exemplo\org\apache\jsp\consulta_jsp.java:49: inconvertible types
found : java.lang.Class
required: java.sql.Driver
Driver d = (Driver)Class.forName(“sun.jdbc.odbc.JdbcOdbcDriver”);
^
1 error

Vc deu uma lida no erro?! :roll:

Criado 22 de março de 2004
Ultima resposta 23 de mar. de 2004
Respostas 9
Participantes 5