Jump to content

Java e banco de dados Access ou Mysql


Hercles
 Share

Recommended Posts

Caros, quero fazer uma aplicação em java para acessar um banco em access ou MySQL. Eu Nao tenho conhecimento de como isso funciona em rede. Eh possível instalar o access ou MySQL em uma pasta da rede e deixar a aplicação em java na rede e colocar atalhos (do programa java) nos computadores? Isso funciona desta forma?

Link to comment
Share on other sites

1º chama-se

(EN) database

(FR) base de données

(ES) base de datos

(PT) base de dados

Não sei o que queres dizer com banco...

2º pensar nisso no prisma de uma m**** chamada Access também é errado chamar isso remotamente que seja de base de dados. Os dados não são consultados através de uma pasta na rede, isso é uma falha enorme de segurança. O que deve ser feito é uma ligação JDBC entre a aplicação Java e o servidor de base de dados. Seja ele MySQL, MariaDB, Oracle, MSSQL, etc.

E para tal deve-se usar a biblioteca Java.sql, isto é não entrando em detalhes por agora em implementar algo como JPA/Hibernate.

Sobre o Java SQL, os métodos que vão interagir com a DB devem de possuir este aspecto:

public class InterfaceDB implements Queries {

private String path = "";
private String username = "";
private String password = "";
private Connection conn;
private int phase = 1;
public final int ALL = 1;
public final int URL_ONLY = 2;
// instancia a classe InterfaceDB e carrega o driver que pretendes
public InterfaceDB(String driver, String path, String username, String password) throws ClassNotFoundException, InstantiationException, IllegalAccessException {
	this.path = path;
	this.username = username;
	this.password = password;
	Class.forName(driver);
}
//estabelece a conexão com a base de dados e devolve a conexão
public void connectToDB(int phase) throws SQLException {
	switch (phase) {
		case ALL:
			conn = DriverManager.getConnection(path, username, password);
			break;
		case URL_ONLY:
			conn = DriverManager.getConnection(path);
			break;
	}
}
public Connection getConnection() throws SQLException {
	connectToDB(phase);
	return conn;
}
//encerra a conexão
public void closeConnection() throws SQLException {
	conn.close();
}
//Get user name
public String getUsername(String number) throws SQLException {
	Connection conn = DriverManager.getConnection(URL_MAIN, USER, PWD);
	PreparedStatement ps = conn.prepareStatement(GET_USERNAME);
	ps.setString(1, number);
	ResultSet rs = ps.executeQuery();
	rs.next();
	return rs.getString(1);
}
}

Aqui tens um pequeno exemplo de como deves estruturar a tua class que interage com a DB aconselho igualmente que todos os queries que tenha sejam Strings estáticas colocadas numa interface à parte e usar sempre o PreparedStatement e não o Statement para evitar SQL injections.

Sobre as variáveis da classe, e aplicando o MySQL como exemplo, vão ter os seguintes valores como exemplo:

String driver ="com.mysql.jdbc.Driver" (chama o connector oficial do MySQL )

String path = "jdbc:mysql://{hostname}:{port}/{target database}"

String username = "utilizador da DB"

String password = "respectiva PW"

The worst part of censorship is ****

Link to comment
Share on other sites

Aqui no Brasil a gente diz "Banco de dados".

Mas quando você diz que "Nao e seguro", então funciona ? Só Nao e seguro? Isto com access ou MySQL?

Edited by Hercles
Link to comment
Share on other sites

Não quero saber o que diz mal no Brasil, isto é um Fórum português. Creio que a minha anterior resposta (que lamento ter colocado) responde a todas as tuas duvidas é uma questão de ler-se com atenção que lá está. Se não sabes porque não é seguro é porque não tens noção do que implica ter um programa a ler para uma pasta situada algures na rede... espero que não desenvolvas nada para empresas.

Para mim esta thread acabou, procura outra pessoa para te ajudar.

The worst part of censorship is ****

Link to comment
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
 Share

×
×
  • Create New...

Important Information

By using this site you accept our Terms of Use and Privacy Policy. We have placed cookies on your device to help make this website better. You can adjust your cookie settings, otherwise we'll assume you're okay to continue.