Conexão Mysql servidor

5 respostas
darksteel3000

Olá galera, estou precisando de ajuda numa seguinte questão, fiz uma aplicação aqui bem simples, estou utilizando JDBC com o Mysql e para desenvolvimento na classe de conexão utilizei localhost pois era so pra desenvolvimento aqui no meu pc, blza? Sendo que esta aplicação tera ser distribuida para ter acesso a um servidor, como farei agora, o que terei de mudar na classe de conexão, e o mysql tera q estar instalado em todas as maquinas alem do servidor? Estou muito confuso quanto a isso, primeira vez sabe como é neah ^_^.

Abaixo estou postando meu codigo para que voces deem uma olhadinha e me ajudem a tirar as duvidas, ok !!! Lembrando que ela esta rodando tudo normal aqui na minha maquina ok !!!

package utilitarios;

import java.sql.<em>;

import javax.swing.</em>;

public class conexao
{

final private String driver =com.mysql.jdbc.Driver;

final private String host =localhost;

private String banco =estoque;

final private String url=jdbc:mysql://”+host+":3306/"+banco;

final private String usuario =root;

final private String senha =root;

private Connection conexao;

public Statement statement;

public ResultSet resultset;
//metodo para iniciar conexão
public boolean conecta() 
{
    boolean result = true;

    try
    {

    Class.forName(driver);
    conexao = DriverManager.getConnection(url,usuario,senha);
    //JOptionPane.showMessageDialog(null,"Conexão Estabelecida com Sucesso.");

    }
    catch(ClassNotFoundException Driver)
    {
        JOptionPane.showMessageDialog(null,"Driver não Carregado "+Driver);
        result = false;
    }
    catch(SQLException Fonte)
    {
        JOptionPane.showMessageDialog(null,Fonte);
        result = false;
    }
    return result;
}

//metodo para fazer a desconectação com o banco
public void desconecta()
{
    boolean result = true;

    try
    {
    conexao.close();
    }
    catch(SQLException fecha)
    {
        JOptionPane.showMessageDialog(null,"Erro ao desconectar com o banco de dados, erro: "+fecha);
        result = false;
    }
}

public void executeSql(String sql)
{
    try
    {
    statement = conexao.createStatement(ResultSet.TYPE_SCROLL_SENSITIVE, ResultSet.CONCUR_READ_ONLY);
    resultset = statement.executeQuery(sql);
    //JOptionPane.showMessageDialog(null, sql);
    }
    catch(SQLException erroSql)
    {
        JOptionPane.showMessageDialog(null,"Não foi possivel executar a consulta sql"+erroSql);
    }
}

}

5 Respostas

otaviojava

Você terá que modificar esses campos abaixo.
Para o do seu servidor.
Ao invés de localhost vc colocaria o ip dele, por exemplo, 192.168.1.20

final private String host ="192.168.1.20"; 
private String banco ="estoque"; 
final private String url="jdbc:mysql://"+host+":3306/"+banco; 
final private String usuario ="root"; 
final private String senha ="root";
darksteel3000

Ok, mais ve so, no caso do instalador quando eu criar, tenho de criar um pro servidor e um pros computadores adicionais e? Os computadores adicionais terao q ter o mysql instalado? Abraços !!!

visola

Você precisa mudar a url de conexão e o usuário (e senha).
No seu caso, a URL é composta da variável host e banco. Se o servidor MySQL estiver ouvindo na mesma porta (3306 - padrão do MySQL), então é só alterar estas duas variáveis.
Se você estiver usando um usuário e senha diferentes do ambiente de desenvolvimento, então precisará alterar estes também.
Para não ter que recompilar sua classe toda vez que alterar o servidor ou o usuário e senha, sugiro você ler estes dados de um arquivo de propriedades: http://www.guj.com.br/articles/35. Para não mandar os dados em um arquivo de texto (se for uma aplicação swing), você poderia usar o que está sendo falado neste post, assim poderia separar os dados do banco num outro jar e trocá-lo quando precisasse.

otaviojava

Não.

Você só precisa ter o mysql instalado no computador que armazenará as informações, no caso um servidor.

darksteel3000

Ok, vlw aew pela ajuda, E muito obrigado !!!

Criado 26 de janeiro de 2011
Ultima resposta 26 de jan. de 2011
Respostas 5
Participantes 3