Oi gente, eu queria saber se dá de fazer uma coisa em java.
Tipo, eu quero conectar ao banco de dados, mas tem que ser um banco de dados online.
Tipo, em um site o usuario faz seu cadastro.
Mas o login faz no programa, usando o banco de dados online.
Dá pra fazer?
Se alguem puder me ajudar eu agradeco.
Use um banco de dados remoto. Ao invés de colocar o endereço do banco de dados como localhost ou 127.0.0.1, coloque o IP e a porta.
Não entendi, pode explicar melhor?
Você sabe conectar com um banco de dados na sua própria máquina?
Se sabe, já deve ter notado que você coloca o endereço do banco de dados na connection String.
Esse endereço pode ser um endereço IP de um banco na internerds, ou numa outra máquina da rede local.
Bom, eu sei fazer isso sim, mas que endereco eh esse?
Pode ser tanto a url do seu banco:
www.minhaempresa.com.br
localhost
Quanto um endereço ip:
129.214.182.120
127.0.0.1
Ambos os endereços da segunda linha são apelidos da sua própria máquina.
É claro que para isso funcionar, seu banco precisa estar hospedado num local de internet válido.
Ou estar acessível a partir da rede local.
Para descobrir o ip da sua máquina, aperte:
tecla do windows + R
Digite "cmd"
Digite ipconfig
E lá deve aparecer um campo chamado “Endereço IP” ou “Endereço IPv4”
Bom, vou tentar, e depois edito
Sim, eu criei o banco de dados online, mas como eu faco para conseguir o endereco e a porta?
Pergunte para quem hospeda seu banco de dados. Agora, fique atento que a maior parte das empresas de hospedagem não tem um banco online. Você terá, um banco na sub-rede deles, e poderá acessa-lo por alguma página de admnistração. O que não significa que o banco estará diretamente publicado na internet.
Se você conhece o domínio, o endereço do banco será igual a esse nome.
MySQL 5.1.30-log rodando em fdb3.awardspace.com como 567264_test@82.197.130.17
Nesse caso, o que seria o endereco?
Muito provavelmente seria fdb3.awardspace.com
Se esse não der, tente com 82.197.130.17
Se nenhum der, pergunte à awarspace se o banco é mesmo publicado na internet. Muitas empresas de hospedagem não publicam seus bancos assim.
Como o servidor de aplicação é geralmente no mesmo domínio que o servidor de banco, você só teria acesso ao BD através do servidor de aplicação.
import java.sql.;
class Conexao {
Connection con;
Statement st;
Conexao(){
try {
Class.forName(“com.mysql.jdbc.Driver”);
con = DriverManager.getConnection(“jdbc:mysql://82.197.130.17”, “567264_test”, "*****");
st = con.createStatement();
System.out.print(“Conectado com sucesso”);
} catch (ClassNotFoundException e) {
// TODO Auto-generated catch block
e.printStackTrace();
} catch (SQLException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
}
ve se eu tou fazendo certo, nao tah dando.
Vc sabe algum host que funcione?
Pode me dar um exemplo de codigo para esse host?
Por favor, utilize a tag code quando for postar código, como descrito aqui:
http://www.guj.com.br/java/50115-voce-e-novo-no-guj-vai-criar-um-topico-e-colar-seu-codigo-fonte-leia-aqui-antes-por-favor
Chegou a testar com o domínio por escrito?
import java.sql.*;
class Conexao {
Connection con;
Statement st;
Conexao(){
try {
Class.forName("com.mysql.jdbc.Driver");
con = DriverManager.getConnection("jdbc:mysql://fdb3.awardspace.com", "567264_test", "******");
st = con.createStatement();
System.out.print("Conectado com sucesso");
} catch (ClassNotFoundException e) {
// TODO Auto-generated catch block
e.printStackTrace();
} catch (SQLException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
}
Desculpe a tag
Sim, eu tentei dessa maneira deu o mesmo erro.
Vc sabe um host que funcione?
Pode me mostrar um codigo nesse host?
[quote=kdkd]Sim, eu tentei dessa maneira deu o mesmo erro.
Vc sabe um host que funcione?Pode me mostrar um codigo nesse host?[/quote]
Não sei. Poucas pessoas publicam o banco de dados dessa maneira. Entre em contato com o seu serviço de hospedagem.
Normalmente bancos de dados nunca são expostos diretamente na Internet.
Pela quantidade de vulnerabilidades que são descobertas dia após dia nos bancos de dados, e pelo agravante que não se pode ficar atualizando constantemente a versão dos programas do banco de dados, porque isso normalmente envolve deixar o banco indisponível (com sorte) por algumas horas, normalmente evita-se esse transtorno e deixa-se os bancos disponíveis apenas para as aplicações que rodam nesse ambiente.
Além disso, normalmente as empresas têm apenas proxies HTTP que não deixam os clientes falar com qualquer porta (por exemplo, a do MySQL), então também não adianta tentar acessar um banco de dados na Internet.