Usando Banco no JSP

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?

[code]<%@ 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>[/code]

[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]

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

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

qual a mensagem de erro q tava aparecendo

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.

[quote=“fgtoledo”]troca <%@ page import = “java.sql.Driver” %>

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

qual a mensagem de erro q tava aparecendo[/quote]

;;

[quote=“New__Radical”][quote=“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[/quote]
Vc deu uma lida no erro?! :roll:[/quote]

Li mas não entendi!!!

Não entendi!!! :frowning:

ALGUEM PODE ME AJUDAR?

Não entendi!!! :([/quote]

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:

[quote=“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 :)[/quote]

vou tentar, valeu fera

[quote=“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[/quote]
Vc deu uma lida no erro?! :roll: