Problema em conexão jdbc com mysql remoto

2 respostas
T

Bom dia!

Uso uma função que faz os métodos de insert, select e update, dependendo da opção de conexão.
Utilizo um parâmetro que define a ação que será implementada dentro da função.

Quando utilizo esta função, e aponto para um banco de dados local(localhost) ou utilizo o programa de outra máquina, mas na mesma rede em que o banco de dados se encontra, vai tranquilo!

Porém quero utilizar esta aplicação com um banco de dados remoto, o qual se encontra em um domínio próprio!
Toda vez que direciona a conexão para o banco de dados remoto, ele traca, o que me faz ter que finalizar a tarefa!

O código utilizado para os comandos no bando interno ou externo é este!

PS. Defino o host na abertura do programa..
O programa na rede local é relativamente rápido e funcional; Não apresenta bugs!!!

this.tpConn é o parâmetro que utilizo para select/update ou insert.
this.host é a variável que recebe o host onde o bd está localizado.

public void Query() { //Comandos no banco de dados
        //definicoes da conexao - padrao
        try {
            Class.forName("com.mysql.jdbc.Driver");
            Connection conn = DriverManager.getConnection("jdbc:mysql://" + this.host + "/db?user=user&password=password");
            String consulta = null;
            String insert;
            String updat;
            ResultSet rs = null;
            Statement stm = conn.createStatement();

            if ("L".equals(this.tpConn) || "V".equals(this.tpConn)) {

                if ("V".equals(this.tpConn)) {

                    // Gravacao do voto
                    insert = "INSERT INTO votacao (presidente, vice, tesoureiro, secretario) VALUES ('"
                            + this.presidente + "', '"
                            + this.vicePresidente + "', '"
                            + this.tesoureiro + "', '"
                            + this.secretario + "')";

                    stm.executeUpdate(insert);

                    //Atualiza situacao de voto do usuario
                    updat = "UPDATE autenticacao SET status='1' WHERE usuario='" + this.user + "' AND senha = '" + this.senha + "'";
                    stm.executeUpdate(updat);

                }


                consulta = "SELECT usuario,senha,status FROM autenticacao WHERE usuario='" + this.user + "' AND senha = '" + this.senha + "'";
                rs = stm.executeQuery(consulta);

                while (rs.next()) {
                    if ("L".equals(this.tpConn)) {
                        //Consulta Cadastro de usuario, situacao de voto...
                        {
                            this.SetExist(true);
                            this.SetStatus(rs.getInt("status"));
                        }
                    } else if ("V".equals(this.tpConn)) {
                        if (rs.getInt("status") == 1) {
                            JOptionPane.showMessageDialog(null, "Votação Encerrada!");
                        } else if (rs.getInt("status") == 0) {
                            JOptionPane.showMessageDialog(null, "Problema: Usuário Náo Atualizado!");
                        }
                    }
                }

                //encerramento da conexao
                rs.close();
                stm.close();
                conn.close();
            } else {
                JOptionPane.showMessageDialog(null, "Parâmetro com problema!");
            }
        } catch (SQLException e) {
            if (e.getMessage() != null) {
                JOptionPane.showMessageDialog(null, e.getSQLState());
            }

        } catch (Exception e) {
            if (e.getMessage() != null) {
                JOptionPane.showMessageDialog(null, e.toString());
            }
        }
    }

2 Respostas

newbcc

Olá,

teria como você postar a exceção, bem como as mensagens que você recebe quando tenta realizar a conexão!? Seria mais fácil para entender a situação.

Abs!

T

O pior é que parece estar conectando eternamente!

Não chega a aparecer exceção… vários minutos passam e eu desisto!

Vou deixar uns 10 minutos para ver o que dá; Em seguida posto aqui se receber algum aviso.

Criado 12 de maio de 2011
Ultima resposta 12 de mai. de 2011
Respostas 2
Participantes 2