Ola
Através do conector JDBC, tem como eu forçar a conexão em uma porta específica no lado local ? ex. : maquina local, porta xxxx… maquina banco de dados, porta default.
Eh soh passar na string de conexao:
jdbc:mysql://localhost:PORTA/<nomebanco>?user=xxx&password=yyyy
Rafael
Fala Rafael, tudo certo?
Então, mas aí no caso você está especificando a porta na maquina onde se encontra o banco de dados ( localhost, no seu exemplo. No meu caso um servidor remoto ).
Como especificar a porta que será usada no lado do desktop, na máquina local, onde a aplicação está rodando ?
Abraço
Adriano
Adriano,
1º - Voce ira criar uma classe de conecao e criar sua String de conecao com o IP ou com o nome e a porta que estara liberada no servidor.
2º - Voce ira criar um pool de conecao toda vez que voce quiser acessar o banco de dados, para isso basta voce instanciar essa classe e boa, ja esta conectado ao banco, nao precisa alterar o IP e a porta do seu firewall.
blz ?
qq coisa posta ai as duvidas
abs
Fala marsola2k, obrigado pela resposta.
Bem, isso que você diz é o que tenho feito :
Tenho uma classe que quando instanciada, conecta com o banco automaticamente.
Mas deixa eu explicar melhor meu caso :
Trata-se de uma aplicação desktop, acessando um banco de dados remoto através de JDBC. Nào estou usando servlets ou nada do genero para estabelecer esta conexão ( talvez no futuro implemente algo neste sentido ) . A classe de conexão está rodando no lado da aplicação.
A porta no servidor, tudo bem. O problema é que a porta usada para conexão no computador local, onde a aplicação desktop está rodando, varia.
Será que tem como eu dizer : use sempre a porta xxx no computador local ?
E acertou, meu problema é com polítcas de firewall
[ ]
Adriano
Adriano,
[quote]A porta no servidor, tudo bem. O problema é que a porta usada para conexão no computador local, onde a aplicação desktop está rodando, varia.
Será que tem como eu dizer : use sempre a porta xxx no computador local ?[/quote]
Pelo o que eu sei, para vc ter uma conecao com um servidor, vc nao deve ter uma porta determinada e sim um IP ou um host para se comunicarem.
A utilização da porta seria dada pelo banco, nao me lembro qual a porta do SQL, mas vamos supor que ela seja a 4432, ela deve ter uma saida da DMZ para a LAN e da LAN para a DMZ.
Eu so nao entendi o pq das maquinas locais terem portas para comunicar com o servidor de banco. Explique melhor.
abs
Marsola2k, excelente explicação.
É minha primeira experiência com banco de dados remoto e acho que eu me confundi :oops:
Na primeira tentativa que tentei me comunicar com o servidor do banco de dados, o firewall da maquina local barrou uma conexão em uma porta local.
Imaginava que a comunicação era feita porta à porta, mas agora vejo que o que foi barrado foi uma conexão tcp. :oops:
O problema que quero evitar é :
Quando instalar o software desktop na maquina do cliente, não precise liberar o acesso genericamente à JRE. Se fizer isso, imagino que qualquer programa feito em java vai poder se conectar na net sem problemas.
Tem como restringir o acesso a net só para determinada aplicação?
Obrigado pela atenção !
[ ]
Adriano