Conectar mysql na rede... não deu certo

5 respostas
N

e ai pessoal do guj... boa tarde

estou tentando conectar meu aplicativo ao mysql na rede... nao estou conseguindo fazer...
minha classe de conexao esta assim:

import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.SQLException;
import javax.swing.JOptionPane;

public class conecta {
    
 public conecta() {    }
            //r1net.ddns.com.br
           //localhost
           //127.0.0.1
            String driver = "com.mysql.jdbc.Driver"; //Classe do driver JDBC
            String banco = "bdr"; //Nome do Banco criado
            String host = "localhost"; //Maquina onde está o banco
            String str_conn = "jdbc:mysql://" + host + ":3306/" + banco; //URL de conexão
            String usuario = "root"; //Usuário do banco
            String senha = "nalldo36"; //Senha de conexão
            Connection conn = null;  
public Connection conecta(){                      
   try {
           Class.forName(driver); //Carrega o driver 
           conn = DriverManager.getConnection(str_conn, usuario, senha);
        }catch(ClassNotFoundException e){
           JOptionPane.showMessageDialog(null,"n Driver não encontrado!\n"+ e,"ATENÇÃO",JOptionPane.WARNING_MESSAGE);
        }catch(SQLException e){
           JOptionPane.showMessageDialog(null,"Erro na Conexão com Banco\n"+ e,"ATENÇÃO",JOptionPane.WARNING_MESSAGE);            
}       return conn;  
    }

um help ai galera :roll:

5 Respostas

D

Se esta tentando conectar em um banco que esta na rede, então por que esta usando “localhost”

String host = "localhost"; //Maquina onde está o banco

tente assim:

String host = "ipMaquinaRede"; //Maquina onde está o banco
N

waleu diegopangone... deu certo kara... ficou assim:

String driver = "com.mysql.jdbc.Driver"; //Classe do driver JDBC
            String banco = "bdr"; //Nome do Banco criado
            String host = "10.1.1.7"; //Maquina onde está o banco
            String str_conn = "jdbc:mysql://" + host + ":3306/" + banco; //URL de conexão
            String usuario = "naldo"; //Usuário do banco
            String senha = "nalldo36"; //Senha de conexão

porem ta muito lento :roll:

que posso fazer pra q o sistema trabalhe em rede de forma agil :?:

D

N@lldo, na verdade, essa lentidão vai depender mais do seu servidor de banco de dados do que sua aplicação…
Porém… eu estava vendo o seu método conecta(), e não tenho certeza, mais me parece que toda vez que vc vai fazer alguma
operação no banco de dados vc chama ele né? É isso?

Se for… vc precisa melhorar isso, pq toda vez vc ta conectando no banco na rede… e vc precisa conectar somente uma vez, e depois
vc usa o seu conn para todas as operações no banco de dados.

Sacou?

kemperacc
N@lldo:
e ai pessoal do guj... boa tarde

estou tentando conectar meu aplicativo ao mysql na rede... nao estou conseguindo fazer...
minha classe de conexao esta assim:

import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.SQLException;
import javax.swing.JOptionPane;

public class conecta {
    
 public conecta() {    }
            //r1net.ddns.com.br
           //localhost
           //127.0.0.1
            String driver = "com.mysql.jdbc.Driver"; //Classe do driver JDBC
            String banco = "bdr"; //Nome do Banco criado
            String host = "localhost"; //Maquina onde está o banco
            String str_conn = "jdbc:mysql://" + host + ":3306/" + banco; //URL de conexão
            String usuario = "root"; //Usuário do banco
            String senha = "nalldo36"; //Senha de conexão
            Connection conn = null;  
public Connection conecta(){                      
   try {
           Class.forName(driver); //Carrega o driver 
           conn = DriverManager.getConnection(str_conn, usuario, senha);
        }catch(ClassNotFoundException e){
           JOptionPane.showMessageDialog(null,"n Driver não encontrado!\n"+ e,"ATENÇÃO",JOptionPane.WARNING_MESSAGE);
        }catch(SQLException e){
           JOptionPane.showMessageDialog(null,"Erro na Conexão com Banco\n"+ e,"ATENÇÃO",JOptionPane.WARNING_MESSAGE);            
}       return conn;  
    }

um help ai galera :roll:

Porque voce nao muda sua classe pra ficar assim:

import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.SQLException;
import javax.swing.JOptionPane;

public class Conecta {
            String driver = "com.mysql.jdbc.Driver"; //Classe do driver JDBC
            String banco = "bdr"; //Nome do Banco criado
            String host = "localhost"; //Maquina onde está o banco
            String str_conn = "jdbc:mysql://" + host + ":3306/" + banco; //URL de conexão
            String usuario = "root"; //Usuário do banco
            String senha = "nalldo36"; //Senha de conexão
            Connection conn = null;  
    
            public Conecta() {    
                     Class.forName(driver); //Carrega o driver 
            }
           
           public Connection getConnection(){                      
               if (conn==null){
                   try {
                          conn = DriverManager.getConnection(str_conn, usuario, senha);
                   }catch(ClassNotFoundException e){
                          JOptionPane.showMessageDialog(null,"n Driver não encontrado!\n"+ e,"ATENÇÃO",JOptionPane.WARNING_MESSAGE);
                          return null;
                   }catch(SQLException e){
                          JOptionPane.showMessageDialog(null,"Erro na Conexão com Banco\n"+ e,"ATENÇÃO",JOptionPane.WARNING_MESSAGE);            
                          return null;
                   }
               }

             return conn;  
       }

Dai na hora de voce usar voce chama:

minhaconexao = conecta.getConnection();
if (minhaconexao!=null){
//faz qq coisa
}

Creio que vai melhorar o desempenho.

Ah, outra coisa, comece os nomes de classe sempre com LetraMauiscula.

Mais uma coisa, voce precisa melhorar a tabulacao do seu fonte, ta muito estranho.

Voce ainda pode passar os parametros de conexao atraves do construtor, pra deixar a classe mais usavel.

N

valew diegopangone e kemperacc… vou tentar organizar aki… obrigado pela ajuda

Criado 22 de abril de 2010
Ultima resposta 23 de abr. de 2010
Respostas 5
Participantes 3