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

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:

[code]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;
}[/code]

um help ai galera :roll:

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

waleu diegopangone… deu certo kara… ficou assim:

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

porem ta muito lento :roll:

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

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?

[quote=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:

[code]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;
}[/code]

um help ai galera :roll:[/quote]

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.

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