Gente sou iniciante em java. Estou tentando fazer a conexão do ECLIPSE com o POSTGRE, só que está dando o seguinte erro:
Não sei o que pode ser, pensei que fosse as áspas duplas, mas ainda continua o mesmo erro.
TRECHO DO CÓDIGO
<%@ page language="java" import= "java.sql.*" contentType="text/html; charset=ISO-8859-1"
pageEncoding="ISO-8859-1"%>
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
<title>Insert title here</title>
</head>
<body>
<%
try
{
Class.forName( "org.postgresql.Driver" );
Connection con = DriverManager.getConnection( "jdbc:postgresql://localhost/Banco", "postgres", "vick01" );
Statement st = con.createStatement( ResultSet.TYPE_SCROLL_SENSITIVE, ResultSet.CONCUR_READ_ONLY );
ResultSet rs = st.executeQuery(" select * from \"Emprs\" " );
System.out.println("passou");
}
catch( ClassNotFoundException erroClass )
{
System.out.print( "ClassDriveJDBC não foi localizado, erro: " + erroClass );
}
catch( SQLException erroSQL )
{
System.out.print( "Erro de conexão com o banco de dados, erro: " + erroSQL );
}
%>
</body>
</html>
Gente, escrevi essa consulta num arquivo JPS dentro do WEB.INF (como vcs estão vendo). É correto colocar a consulta da query na JSP mesmo??? Ou teria que colocar num arquivo .java, e só chamar ele na página JSP??
Desculpa se minha pergunta é muito boba, mas estou na maior dúvida.
Na query não precisa colocar o nome da tabela entre aspas duplas.
Posta o erro completo (stack trace).
O certo não é deixar essa parte de conexão nas telas JSP, você deve criar uma classe que serve apenas para fazer conexão com o Postgre. Você podia criar uma Servlet que quando vc chamar ela, ela chama usa uma classe por exemplo EmpresaDAO para fazer a conexão com o banco e obter todas as empresas, depois vc pega essas informações e envia via request para uma JSP.
rsakurai, tirei as áspas duplas, mas mesmo tirando as áspas duplas de Emprs, contiua dando erro. Na tela do console aparece o seguinte (não sei onde fica o stack trace que vc falou, por isso coloquei só o que é exibo no console:
<%@ page language="java" import= "java.sql.*" contentType="text/html; charset=ISO-8859-1"
pageEncoding="ISO-8859-1"%>
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
<title>Insert title here</title>
</head>
<body>
<%
try
{
Class.forName( "org.postgresql.Driver" );
Connection con = DriverManager.getConnection( "jdbc:postgresql://localhost/Banco", "postgres", "vick01" );
Statement st = con.createStatement( ResultSet.TYPE_SCROLL_SENSITIVE, ResultSet.CONCUR_READ_ONLY );
ResultSet rs = st.executeQuery(" select * from Emprs " );
System.out.println("passou");
}
catch( ClassNotFoundException erroClass )
{
System.out.print( "ClassDriveJDBC não foi localizado, erro: " + erroClass );
}
catch( SQLException erroSQL )
{
System.out.print( "Erro de conexão com o banco de dados, erro: " + erroSQL );
}
%>
</body>
</html>