Galera, sinceramente preciso muito da ajuda de alguém, talvez a solução seja simples, mas não consigo enxergar.
Bom tenho uma aplicação com JSF 2.1, e estou tentando fazer minha conexão com a base de dados usando JDBC.
Bom tenho um método classe onde faço todo o gerenciamento das conexões(abertura, fechamento e talz).
Meu problema: Toda vez que vai abrir uma conexão, ele da erro.
MYSQL: Acess denied to user ‘ddo’@localhost using Password(YES).
POSTGRE: autenticação do tipo password falhou para usuário “‘ddo’”.
Bom vamos lá, tanto no mysql qto no postgre foram criados usuários(user ddo), garantidos os privileges e tudo o mais, criado a senha e tudo certo.
Também tentei com o usuario root de ambos o banco e o erro permanece. Talvez seja algo que estou fazendo errado no código, por via das duvidas segue o código
Classe: GerenciadorDeConexoes
package br.com.jragonha.bd;
import java.io.IOException;
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.SQLException;
import java.util.Properties;
import java.util.logging.Level;
import java.util.logging.Logger;
/**
* Classe que irá gerenciar a conexão com o banco de dados como abertura e
* encerramento de conexões
*
* @author jilles.ragonha
*/
public class GerenciadorConexoes {
/**
* Método que carrega o driver de conexão na memória no exato momento em que
* o objeto é criado
*/
static {
try {
Class.forName("org.postgresql.Driver").newInstance();
} catch (InstantiationException ex) {
Logger.getLogger(GerenciadorConexoes.class.getName()).log(Level.SEVERE, null, ex);
} catch (IllegalAccessException ex) {
Logger.getLogger(GerenciadorConexoes.class.getName()).log(Level.SEVERE, null, ex);
} catch (ClassNotFoundException ex) {
Logger.getLogger(GerenciadorConexoes.class.getName()).log(Level.SEVERE, null, ex);
}
}
private static GerenciadorConexoes singleton;
private boolean propriedadesCarregadas;
private Properties dbProp;
/**
* Construtor da classe
*/
public GerenciadorConexoes() {
carregarPropriedades();
}
/**
* Método para carregar o arquivo de propriedades
*/
private void carregarPropriedades(){
if (dbProp == null){
dbProp = new Properties();
try{
dbProp.load(GerenciadorConexoes.class.getResourceAsStream("database.properties"));
propriedadesCarregadas = true;
}catch(IOException e){
Logger.getLogger("Gerenciador Conexoes").log(Level.SEVERE, "Problemas ao carregar as propriedades do banco de dados");
Logger.getLogger("Gerenciador Conexoes").log(Level.SEVERE,"Mensagem de exceção: ",e.getMessage());
}
}
}
static GerenciadorConexoes pegarInstancia(){
if(singleton == null){
singleton = new GerenciadorConexoes();
}
return singleton;
}
/**
* Método para abrir uma conexão com o banco de dados
*/
Connection abrirConexao() throws SQLException {
return DriverManager.getConnection(dbProp.getProperty("DB_URL"),
dbProp.getProperty("DB_USER"), dbProp.getProperty("DB_PWD"));
}
/**
* Método que encerra uma conexão com o banco
* @param conexao que deverá ser encerrada
*/
void fecharConexao(Connection conexao){
try {
conexao.close();
} catch (SQLException ex) {
Logger.getLogger("GerenciadorConexoes").log(Level.SEVERE, "Problema ao encerrar a conexao");
Logger.getLogger("GerenciadorConexoes").log(Level.SEVERE, "Mensagem da exceção:", ex.getMessage());
}finally{
conexao = null;
}
}
/**
* Método que pega valores do arquivo de Propriedades
*/
String pegarPropriedade(String chave){
if(!propriedadesCarregadas){
carregarPropriedades();
}
return dbProp.getProperty(chave);
}
}
Bom agora minha classe de Login
[code]package br.com.jragonha.bd;
import br.com.jragonha.models.Usuario;
import java.sql.Connection;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.util.List;
import java.util.logging.Level;
import java.util.logging.Logger;
/**
*
-
@author jilles.ragonha
*/
public class LoginDAO extends AbstractDAO {/**
-
Método que verifica se usuário existe no banco e realiza login
-
@param usuario - usuario que sera feito o login
-
@return true caso logado, false caso erro no login
*/
public boolean login(Usuario usuario){
boolean logado = false;
Connection conexao = null;try{
conexao = GerenciadorConexoes.pegarInstancia().abrirConexao();
String sql = GerenciadorConexoes.pegarInstancia().pegarPropriedade(“VALIDA_LOGIN”);
PreparedStatement ps = conexao.prepareStatement(sql);ps.setString(1, usuario.getNome()); ps.setString(2, usuario.getSenha()); ResultSet rs = ps.executeQuery(); if (rs.next()){ logado = true; }}catch(SQLException e){
Logger.getLogger(“LoginDAO”).log(Level.SEVERE, “Problemas na comunicação com o banco de dados”);
Logger.getLogger(“LoginDAO”).log(Level.SEVERE, "Mensagem de exceção: ",e.getMessage());
}finally{
GerenciadorConexoes.pegarInstancia().fecharConexao(conexao);
}return logado;
}
[/code]
-
Eu realmente agradecerei qualquer ajuda possível
