GARANTIR DESCONTO

Fórum Como Fazer uma Conexão Remota com o delphi xe6 + dataSnap #553131

04/05/2016

0

Tou tentado fazer conexão com um banco de dados em Nuvem mais sempre dar erro de Socket

Veja a conexão no Servidor e e no Cliente

Sabendo que no Componente de acesso a dados que é o SqlConnection eu ja coloquei o Caminho e o IP da maquina onde tá o Banco
veja

Database= Aqui vai o IP do servidor :C:\Program Files\SysBanco\SYSCOMER.FDB

e no Componente Transporte eu coloquei a porta padrão 211

ai vai as outras configuração do servidor

no Botão Conecta Foi Colocado o seguinte Código

procedure TF_Servidor.SpeedConectaClick(Sender: TObject);
begin
SC.Transporte.Port := StrToInt(Edit_Porta.Text);
SC.Transporte.Start;
SC.DSServer1.Start;
end;

e no Botão Desconecta foi Colocado o seguinte código

procedure TF_Servidor.SpeedDesconectaClick(Sender: TObject);
begin
SC.Transporte.Stop;
SC.DSServer1.Stop;
end;

no Activate do Form coloquei o seguinte Código para visualizar a porta atual no Edit

procedure TF_Servidor.FormActivate(Sender: TObject);
begin
Edit_Porta.Text := IntToStr(SC.Transporte.Port);
end;

Já no Cliente é assim :


no Botão Conectar coloquei o seguinte Código

procedure TF_Configuracao.SpeedConectarClick(Sender: TObject);
begin
uDM.Conectede.Close;
uDM.Conectede.Params.Clear;
uDM.Conectede.Connected := False;
uDM.Conectede.Params.Values['Port'] := Edit_Porta.Text; // Opção Para mudar a Porta
uDM.Conectede.Connected := True;
uDM.CDS_Unidades.Open;
end;

e ainda coloquei no onCreate do DataModule o Seguinte Código

procedure TuDM.DataModule(Sender: TObject);
begin
//Conectede.Connected:= False;
Conectede.Params.Clear;
Conectede.Params.Add('Port=211');
Conectede.Params.Add('HostName=aqui é o IP do Servidor');
Conectede.Params.Add('CommunicationProtocol=tcp/ip');
Conectede.Params.Add('DatasnapContext=datasnap/');
try
Conectede.Connected:=TRUE;
ShowMessage('Conectado com sucesso a base de dados '+Conectede.Params.Values['Database']);
CDS_Unidades.Open;
except
//on E: Exception do
begin
ShowMessage('Erro ao tentar conexão com o Banco..');
//Application.Terminate;
end;
end;
end;

se alguém poder me ajudar
Aislan Sousa

Aislan Sousa

Responder

Posts

04/05/2016

Mario França

acredito que o erro seja ao executar SpeedConectarClick(...

uDM.Conectede.Params.Clear;

Pois no onCreate do DataModule é criado os parâmetros e ao executar OnClick é feito uma limpa dos mesmos.
Responder

Gostei + 0

04/05/2016

Aislan Sousa

Ola meu amigo Fico feliz em vc ter Procurado me ajudar Obrigado

Mais mesmo sem eu executar o Código do SpeedConectar era para ele conectar certo pois o parametros de configuração estão dentro do Código do Sistema certo então são carregados quando executo o sistema.

O Código do SpeedConectar só era executado Antes de eu ter colocado o Código no onCreate do DataModule por que

Veja :

procedure TF_Configuracao.SpeedConectarClick(Sender: TObject);
begin
uDM.Conectede.Close; // Fecha a Conexão
uDM.Conectede.Params.Clear; // Limpa os Parametros que estiverem
uDM.Conectede.Connected := False; // Desativo a conexão
uDM.Conectede.Params.Values['Port'] := Edit_Porta.Text; // Opção Para mudar a Porta
uDM.Conectede.Connected := True; // Ativo a Conexão
uDM.CDS_Unidades.Open; // Ativo o Cds_Unidades
end;

mais eu Não Tou Usando Esse Código Não mais

Fico esperando Resposta sua

meu Email é metareciclagemdepicos@gmail.com

espero muita ajuda pois tou sem trabalho e preciso do sistema para ganhar o pão de cada-dia.
Responder

Gostei + 0

21/07/2016

Mario França

Tente retirar a seguinte linha [ uDM.Conectede.Params.Clear ]
Responder

Gostei + 0

Utilizamos cookies para fornecer uma melhor experiência para nossos usuários, consulte nossa política de privacidade.

Aceitar