Problema para gravar dados em aplicacao java em outro computador

4 respostas
danikms

Boa noite pessoal,

Por favor, vcs me poderiam ajudar com este problema:

Estou fazendo um programa em Swing e com MySql, na minha máquina eu consigo gravar, deletar, alterar os dados normalmente. Hoje compartilhei o programa para fazer os primeiros testes, compartilhei a pasta raiz e dei permissão completa para os usuários, até ai tudo bem, eles acessaram conseguiram abrir o arquivo .jar, mas na hora de adicionar e salvar uma nova informacao no programa, simplesmente nao acontece nada. Na minha classe ConexaoBanco, trato as seguintes exceçoes: ClassNotFoundException e SQLException, nao sei se está faltando alguma. Acredito que o problema nao é se conectar pq senao lançaria a exceção neh?
Já liberei a porta 3306 do mysql, mas o msm problema aconteceu e nao sei pq está acontecendo, sendo que eles acessam a aplicacao q está no meu computador e somente pegam o icone para o desktop deles.
Quando eles tentam adicionar uma informação clicando no botao salvar, nao acontece nenhum erro, fica como se eu nao tivesse implementado nenhum evento para o botao, acredito q tah sendo lançado uma exceção, mas nao consigo e ve-la e nao sei como resolver este problema até o momento.

Algumas informações da aplicacao:

Mysql 5.0
Banco: jdbc:mysql://localhost/chamadodb
User: root
Password: root

O driver do my sql se encontra numa pasta chamada lib q tenho dentro de uma aplicação e no meu micro roda normal.

ahh informo q antes de postar procurei esse tipo de erro, mas nao achei nada… se alguém souber onde posso solucionar este problema, peço a gentileza de uma ajuda…

Parte da classe Conexao Banco:

public class ConexaoBanco {

private static final String DRIVER_MYSQL = "org.gjt.mm.mysql.Driver";
private static final String DATABASE_PATH = "jdbc:mysql://localhost/chamadodb";
private static final String USERNAME = "root";
private static final String PASSWORD = "root";

public static Connection abreConexao(){		
	
	Connection conn = null;
	try{
		Class.forName(DRIVER_MYSQL);
		conn = DriverManager.getConnection(DATABASE_PATH,USERNAME,PASSWORD);
		}catch(SQLException e){
			JOptionPane.showMessageDialog(null, "ERRO (001): NAO FOI POSSÍVEL SE CONECTAR AO BANCO DE DADOS", "ERRO",JOptionPane.ERROR );
		
	}catch (ClassNotFoundException e) {
		JOptionPane.showMessageDialog(null, "ERRO (002): PROBLEMAS COM O DRIVER DO BANCO DE DADOS", "ERRO",JOptionPane.ERROR );
	}		
	return conn;
}

Agradeço antecipadamente,

Vlwww

4 Respostas

edineimanica

danikms:
Boa noite pessoal,

Por favor, vcs me poderiam ajudar com este problema:

Estou fazendo um programa em Swing e com MySql, na minha máquina eu consigo gravar, deletar, alterar os dados normalmente. Hoje compartilhei o programa para fazer os primeiros testes, compartilhei a pasta raiz e dei permissão completa para os usuários, até ai tudo bem, eles acessaram conseguiram abrir o arquivo .jar, mas na hora de adicionar e salvar uma nova informacao no programa, simplesmente nao acontece nada. Na minha classe ConexaoBanco, trato as seguintes exceçoes: ClassNotFoundException e SQLException, nao sei se está faltando alguma. Acredito que o problema nao é se conectar pq senao lançaria a exceção neh?
Já liberei a porta 3306 do mysql, mas o msm problema aconteceu e nao sei pq está acontecendo, sendo que eles acessam a aplicacao q está no meu computador e somente pegam o icone para o desktop deles.
Quando eles tentam adicionar uma informação clicando no botao salvar, nao acontece nenhum erro, fica como se eu nao tivesse implementado nenhum evento para o botao, acredito q tah sendo lançado uma exceção, mas nao consigo e ve-la e nao sei como resolver este problema até o momento.

Algumas informações da aplicacao:

Mysql 5.0
Banco: jdbc:mysql://localhost/chamadodb
User: root
Password: root

O driver do my sql se encontra numa pasta chamada lib q tenho dentro de uma aplicação e no meu micro roda normal.

ahh informo q antes de postar procurei esse tipo de erro, mas nao achei nada… se alguém souber onde posso solucionar este problema, peço a gentileza de uma ajuda…

Parte da classe Conexao Banco:

public class ConexaoBanco {

private static final String DRIVER_MYSQL = "org.gjt.mm.mysql.Driver";
private static final String DATABASE_PATH = "jdbc:mysql://localhost/chamadodb";
private static final String USERNAME = "root";
private static final String PASSWORD = "root";

public static Connection abreConexao(){		
	
	Connection conn = null;
	try{
		Class.forName(DRIVER_MYSQL);
		conn = DriverManager.getConnection(DATABASE_PATH,USERNAME,PASSWORD);
		}catch(SQLException e){
			JOptionPane.showMessageDialog(null, "ERRO (001): NAO FOI POSSÍVEL SE CONECTAR AO BANCO DE DADOS", "ERRO",JOptionPane.ERROR );
		
	}catch (ClassNotFoundException e) {
		JOptionPane.showMessageDialog(null, "ERRO (002): PROBLEMAS COM O DRIVER DO BANCO DE DADOS", "ERRO",JOptionPane.ERROR );
	}		
	return conn;
}

Agradeço antecipadamente,

Vlwww

Coloca um try, catch com Exception para você ver qual o erro especifico que está acontecendo…
Dai fica mais facil de ajuda-lo…

Bird89du

verifica se os usuários do seu programa estão usando o banco de dados da sua máquina(no caso de estarem em redes).

se não estiver em redes tem que criar um banco nas máquinas que você está usando

vê também o caminho do banco

flw

abs

danikms

Nossa… vdd, o Exception puro, vlwww pela ajuda, amanha farei isso…

e na verdade o objetivo é eles usaram o meu banco de dados… pq a ideia do programa é para consulta onde todos podem contribuir… eles tem q usar o banco de dados do meu pc msm… nao preciso instalar nada na maquina deles neh? além da VM?

Obrigado, pelas ajudas…

danikms

Pessoal, problema resolvido.

Vou postar aqui a solução que encontrei, caso alguém um dia tenha este problema.

Bom, na verdade o problema estava no mysql e na classe que se conectava no banco… no mysql o problema era que na tabela do mysql q jah vem com o sistema, chamada user eu estava com mtos usuarios, deixei somente um usuario, o root com a senha root tb… e nesta tabela tem um campo q se chama hostname e o valor q estava era localhost, troquei este valor por um simples sinal de %.

E na classe q se conectava o caminho do banco estava assim: jdbc:mysql://localhost/chamadodb alterei para Banco: jdbc:mysql://128.251.98.11:3306/chamadodb, ou seja troquei e coloquei o ip da maquina… dps liberei a porta do mysql (3306) e deu tudo certo.

Obrigado ai pela ajuda…

vlwwww

Criado 11 de dezembro de 2008
Ultima resposta 12 de dez. de 2008
Respostas 4
Participantes 3