Duvida com aplicação com Banco de Dados MySql [RESOLVIDO]

4 respostas
brunorota
Ae galera É o seguinte Eu tenho uma aplicação com banco de dados mysql vou mostrar a classe de conexão com o banco
package database.classes;

import java.sql.Connection;
import java.sql.DriverManager;


public class ConnectionDB {
	
		private static Connection conn = null;
		
		public final static String DRIVER = "com.mysql.jdbc.Driver";
		public final static String URL = "jdbc:mysql://localhost:3306/banco_eclusas";
		public final static String USER = "root";
		public final static String PASSWD = "1234";
		
		private ConnectionDB(){ 
			if (conn == null)
				loadDriver();
		}
		
		private static void loadDriver() {
			try {
				Class.forName(DRIVER);
				conn = DriverManager.getConnection(URL, USER, PASSWD);
			} catch (Exception e) {
				e.printStackTrace();
			}
		}
		
		public static Connection getConnection() {
			if (conn == null)
				loadDriver();
				
			return conn;
		}
		
		public static void erroDB () {
			conn = null;
		}
}

A aplicação funciona de boua

Agora eu quero fazer o seguinte

Deixar o banco MySql instalado em uma maquina como servidor, e distribuir aki nos pcs da rede o arquivo .JAR para acessar o banco no servidor

Como eu faço isso?

Atenciosamente

4 Respostas

thiago.correa

Primeiro, antes de mais nada, defina qual será a máquina que irá atuar como servidor, pegue o ip dessa máquina e coloque no teu código fonte (eu pesquisaria uma maneira melhor, XML, um arquivo properties, mas enfim…)

Para distribuir, é só copiar os jars para as máquinas clientes, certifique-se que ao menos que os clientes possuem o JRE para rodar a aplicação!

brunorota

no codigo no lugar onde ta localhost eu coloco o IP da maquina que o banco ta instalado?

eh soh isso mesmo?

Valews

brunorota
Ae thiago eu deixei o código assim
package database.classes;

import java.sql.Connection;
import java.sql.DriverManager;


public class ConnectionDB {
	
		private static Connection conn = null;
		
		public final static String DRIVER = "com.mysql.jdbc.Driver";
		public final static String URL = "jdbc:mysql://10.23.82.37:3306/banco_eclusas";
		public final static String USER = "root";
		public final static String PASSWD = "root";
		
		private ConnectionDB(){ 
			if (conn == null)
				loadDriver();
		}
		
		private static void loadDriver() {
			try {
				Class.forName(DRIVER);
				conn = DriverManager.getConnection(URL, USER, PASSWD);
			} catch (Exception e) {
				e.printStackTrace();
			}
		}
		
		public static Connection getConnection() {
			if (conn == null)
				loadDriver();
				
			return conn;
		}
		
		public static void erroDB () {
			conn = null;
		}
}

Distribui o .JAR pra outro pc

O IP da máquina que está o banco é 10.23.82.37 que eu coloquei na classe de conexão
O IP da máquina que está rodando a aplicação é 10.23.82.74

Então a aplicação abre de boua, só que quando eu clico no botão que vai mostrar os itens cadastrados no banco, demora um pouco pra abri a tela e quando abre a tela, nao faz ligação com o banco

Eu acho q demora um pouco pq ele tenta fazer a conexão com o banco e não consegue

O q eu estou fazendo de errado?

Atenciosamente

brunorota

Ae galera
Solucionei o problema

Vou postar

Foi só eu libera o acesso remoto no mysql com essa linha de comando

GRANT ALL PRIVILEGES ON . TO USER_NAME@IP_DE_ACESSO IDENTIFIED BY ?SENHA?;

Valew a atenção de todos

Criado 6 de julho de 2009
Ultima resposta 7 de jul. de 2009
Respostas 4
Participantes 2