CONEXAO FUNCIONA EM WEB MAIS NAO FUNCIONA EM DESK
Pessoal fiz uma aplicacao até ai tudo bem, tudo funcionando mais quando Tento fazer uma conexao via desk nao consigo acesso, mais fiz um aplicacacao php e o banco e funciona normalmente no browser, alguem sabe me dizer o por que disso?
[txt-color=#e80000]BANCO MYSQL[/txt-color]
A porta 3306 nao funciona na internet da empresa...Como a aplicacao web consegue acessar e a desk nao?
[txt-color=#e80000]O king host me informou que o erro e por causa da porta fechada...
[/txt-color]
a conexao php nem pede a porta...
CONEXAO FEITA EM PHP QUE FUNCIONA NORMALMENTE.
<?php
//set off all error for security purposes
error_reporting(E_ALL);
//define some contstant
define( [Ô]DB_DSN[Ô], [Ô]mysql:host=mysql.ceinfoparelheiros.kinghost.net;dbname=ceinfoparelhei[Ô] );
define( [Ô]DB_USERNAME[Ô], [Ô]ceinfoparelhei[Ô] );
define( [Ô]DB_PASSWORD[Ô], [Ô][Ô] );
define( [Ô]CLS_PATH[Ô], [Ô]class[Ô] );
//include the classes
include_once( CLS_PATH . [Ô]/user.php[Ô] );
?>
[txt-color=#e80000]BANCO MYSQL[/txt-color]
A porta 3306 nao funciona na internet da empresa...Como a aplicacao web consegue acessar e a desk nao?
[txt-color=#e80000]O king host me informou que o erro e por causa da porta fechada...
[/txt-color]
a conexao php nem pede a porta...
CONEXAO FEITA EM PHP QUE FUNCIONA NORMALMENTE.
<?php
//set off all error for security purposes
error_reporting(E_ALL);
//define some contstant
define( [Ô]DB_DSN[Ô], [Ô]mysql:host=mysql.ceinfoparelheiros.kinghost.net;dbname=ceinfoparelhei[Ô] );
define( [Ô]DB_USERNAME[Ô], [Ô]ceinfoparelhei[Ô] );
define( [Ô]DB_PASSWORD[Ô], [Ô][Ô] );
define( [Ô]CLS_PATH[Ô], [Ô]class[Ô] );
//include the classes
include_once( CLS_PATH . [Ô]/user.php[Ô] );
?>
O mais provável é que seu host não permita conexões remotas ao MySQL
essa pagina PHP roda em algum micro interno da empresa e acessa? então não é questão de porta fechada....se a pagina ta na web fora da empresa, ai pode até ser algo de porta mesmo...
se o banco tivesse em algum micro interno dependendo do serviço de internet seria necessário apenas um forward no servidor/roteador de internet apontando pro ip do pc onde estivesse o bd...
uso net aqui, e qnd preciso de algum teste do tipo e deixo o banco internamente no pc de desenvolvimento eu faco esses forward apontando ao IP do micro onde esta o BD e funciona normal....
se o banco tivesse em algum micro interno dependendo do serviço de internet seria necessário apenas um forward no servidor/roteador de internet apontando pro ip do pc onde estivesse o bd...
uso net aqui, e qnd preciso de algum teste do tipo e deixo o banco internamente no pc de desenvolvimento eu faco esses forward apontando ao IP do micro onde esta o BD e funciona normal....
[txt-color=#e80000]Ocelot - O servidor funcionar normalmente na minha maquina em casa, ele tem permisao para acesso remoto.
[/txt-color]
O site ta no servidor alugado na kinghost.
Nao consigo nem acessar via HeideSql como estou fazendo em casa nesse momento...Minnha duvida e exatamente esta o por que consigo acessar um banco via php e nao consigo acessar este mesmo banco via Desktop Windows Form...
[/txt-color]
O site ta no servidor alugado na kinghost.
Nao consigo nem acessar via HeideSql como estou fazendo em casa nesse momento...Minnha duvida e exatamente esta o por que consigo acessar um banco via php e nao consigo acessar este mesmo banco via Desktop Windows Form...
Se eu entendi o que você está dizendo, a explicação é muito simples, e se não me engano já tinha te passado isso em uma resposta anterior:
Você está rodando o seu código PHP na mesma rede em que o MySQL está instalado. Estando na mesma rede, as portas são geralmente liberadas. Agora, tentar acessar essa porta vindo de uma rede externa, então tem o firewall que barra. O PHP, está atrás do firewall, no mesmo nÃvel do servidor MySQL e por isso acessa numa boa, sem nem especificar a porta pois 3306 é a porta padrão. Isso tudo não tem nada a haver com o PHP ou com o MySQL em si, mas sim com estrutura de rede, que é uma das coisas que quem quer trabalhar com web DEVE aprender.
Você está rodando o seu código PHP na mesma rede em que o MySQL está instalado. Estando na mesma rede, as portas são geralmente liberadas. Agora, tentar acessar essa porta vindo de uma rede externa, então tem o firewall que barra. O PHP, está atrás do firewall, no mesmo nÃvel do servidor MySQL e por isso acessa numa boa, sem nem especificar a porta pois 3306 é a porta padrão. Isso tudo não tem nada a haver com o PHP ou com o MySQL em si, mas sim com estrutura de rede, que é uma das coisas que quem quer trabalhar com web DEVE aprender.
Entendi KerpLunk pelo motivo do Site esta no mesmo servidor ira funcionar, mais como tento o acesso via Windowsform o O sistema esta na maquina do usuario que conecta a internet e após isso conecta ao servidor se no meio disso estiver um parede(porta fechada) entao nao consigo o acesso.
Existe algum metodo, para burlar isso? Pois por ser a rede da prefeitura de SP Solicitei a abertura da porta 3306 no proxy a resposta foi que dentro de 6 meses estariam abrindo a porta lkkkkkkkk...
Existe algum metodo, para burlar isso? Pois por ser a rede da prefeitura de SP Solicitei a abertura da porta 3306 no proxy a resposta foi que dentro de 6 meses estariam abrindo a porta lkkkkkkkk...
Exatamente. Geralmente, é liberada uma porta para acesso externo que não é a porta padrão(e nem pode ser) e também criada uma entrada no NAT, direcionando o tráfego da porta externa, para a porta interna. Ou seja, o MySQL no servidor, está internamente na porta 3306, que é fechada para acesso externo. Então abre-se a uma porta digamos 9999 para acesso externo e o NAT faz o meio campo, transferindo os dados recebidos na porta externa, direcionando para a porta interna. Na prática, você se conecta de fora, na porta 9999, mas é transferido para a porta 3306 interna. Quando você roda o PHP que está já na rede interna, então esse acesso à porta externa não é necessário, pois o MySQL já está ao alcance. Poderia-se no PHP, configurar com o endereço e porta externa, mesmo estando de dentro da rede, a conexão iria ocorrer, mas não há necessidade disso. Em comparação, seria o mesmo que você estar em casa e querer dar uma mijada, daà sair de casa, chavear a porta, abrir a porta de novo e ir ao banheiro, não faria o menor sentido.
Tem alguma Solucao para eu ultilizar esse banco na aplicacao Windows Form?
sim, restrição da rede da prefeitura.....encontro muito isso, dentro da escola temos pelo menos 3 tipos diferentes de perfil.......
veja q se entendi corretamente, de casa vc acessa, vc não tem a restrição da prefeitura.....
e o código php já foi bem explicado o motivo de funcionar sem problemas...
veja q se entendi corretamente, de casa vc acessa, vc não tem a restrição da prefeitura.....
e o código php já foi bem explicado o motivo de funcionar sem problemas...
Tópico encerrado , respostas não são mais permitidas