Comentários sobre: DataSnap – Compartilhando conexão com o banco entre diferentes Server Classes a partir do mesmo cliente (Session) http://www.andreanolanusse.com/pt/datasnap-compartilhando-conexao-com-o-banco-entre-diferentes-server-classes-a-partir-do-mesmo-cliente-session/ Andreano Lanusse blog - artigos, tutoriais e vídeos sobre tecnologia, desenvolvimento de software (Delphi XE4, C#, PHP, .NET) e técnicas de programação Wed, 02 Aug 2017 11:33:39 +0000 hourly 1 https://wordpress.org/?v=6.5.7 Por: Laerdes http://www.andreanolanusse.com/pt/datasnap-compartilhando-conexao-com-o-banco-entre-diferentes-server-classes-a-partir-do-mesmo-cliente-session/#comment-50727 Wed, 02 Aug 2017 11:33:39 +0000 http://www.andreanolanusse.com/pt/?p=1111#comment-50727 Oi Andreano garimpando na internet em busca de exmemplo de como implementar servidor de aplicação DataSnap encontei esse link eu utilizo o Delphi 2010 ao conpilar esta reclamando “[DCC Fatal Error] DSServerContainer.pas(8): F1026 File not found: ‘DSAuth.dcu'” o que eu poderia fazer para resolver

]]>
Por: Arlei Ferreira Farnetani Junior http://www.andreanolanusse.com/pt/datasnap-compartilhando-conexao-com-o-banco-entre-diferentes-server-classes-a-partir-do-mesmo-cliente-session/#comment-46593 Sat, 04 Jun 2016 13:02:19 +0000 http://www.andreanolanusse.com/pt/?p=1111#comment-46593 Este exemplo também serviria para um Servidor do tipo REST? Tentei jogar o firedac ao invés do sqlconnection, porém quando vai verificar o if ListofConnection.ContainsKey(TDSSessionManager.GetThreadSession.Id) then já me resulta em erro de violação de memória, e quando comento esse if ele me dá um erro no ListofConnection.Add(id, dbconn); O que pode ser? Estou criando normalmente o ListofConnection no oncreate do container. Parece que o erro é causado por alguma coisa nesse TDictionary…

]]>
Por: Sinvaldo Francisco http://www.andreanolanusse.com/pt/datasnap-compartilhando-conexao-com-o-banco-entre-diferentes-server-classes-a-partir-do-mesmo-cliente-session/#comment-46374 Mon, 04 Apr 2016 14:14:26 +0000 http://www.andreanolanusse.com/pt/?p=1111#comment-46374 Tou Construindo um Pequeno Sistema multicamadas mais tou tendo um Erro e não consigo resolver o erro é o Seguinte:

O Banco de dados esta hospedado em um Servidor de um amigo Meu.

* A porta 3050 do Firebird esta liberada.

* Desenvolvi o Servidor ele Rodou Perfeitamente, tanto na maquina local quanto em outra maquina via internet.
* Tou desenvolvendo a parte Cliente só que, quando eu rodo na maquina que estou desenvolvendo o Servidor e a parte cliente funciona, mais quando coloco o servidor para outra maquina, o Servidor Funciona mais o lado cliente não Funciona da Erro de Socket, e também se coloco o Servidor e a parte cliente para outro maquina o Servidor Funciona mais a Parte cliente Não Roda.

Acho que os Erro é só na parte cliente.

Se poder me ajudar fico Grato

]]>
Por: shaahin http://www.andreanolanusse.com/pt/datasnap-compartilhando-conexao-com-o-banco-entre-diferentes-server-classes-a-partir-do-mesmo-cliente-session/#comment-46316 Sat, 12 Mar 2016 08:20:56 +0000 http://www.andreanolanusse.com/pt/?p=1111#comment-46316 Thank you. very good article after left Embarcadero. Your articles are very useful. Please, write more about DataSnap.

]]>
Por: Elvis Hotz http://www.andreanolanusse.com/pt/datasnap-compartilhando-conexao-com-o-banco-entre-diferentes-server-classes-a-partir-do-mesmo-cliente-session/#comment-33566 Mon, 23 Sep 2013 17:15:53 +0000 http://www.andreanolanusse.com/pt/?p=1111#comment-33566 Boa Tarde
Muito Bom o seu Site, Excelente Conteúdos,
Gostaria de pedir se teria como você fazer um tutorial Ensinando a fazer um servidor DataSnap Com Firedac. Ou se voce sabe onde eu encontro alguma coisa nesse assunto para me ajudar. Desde Já Agradeço!

]]>
Por: Rafael http://www.andreanolanusse.com/pt/datasnap-compartilhando-conexao-com-o-banco-entre-diferentes-server-classes-a-partir-do-mesmo-cliente-session/#comment-6286 Thu, 18 Aug 2011 20:24:47 +0000 http://www.andreanolanusse.com/pt/?p=1111#comment-6286 Olá Andreano, estou usando o compartilhamento da conexão pela propriedade ServerConnection do driver Datasnap no Delphi XE…mas ao fazer select com campos blob da erro “Range Check Error” no lado cliente…basta retirá-los e tudo funciona, inclusive já apliquei os hotfixes para o XE…ainda assim o erro existe, queria fazer assim pra não precisar sair mudando os ProviderNames dos meus ClientDatasets…alguma sugestão ? Obrigado.

]]>
Por: Eric http://www.andreanolanusse.com/pt/datasnap-compartilhando-conexao-com-o-banco-entre-diferentes-server-classes-a-partir-do-mesmo-cliente-session/#comment-6206 Thu, 11 Aug 2011 17:55:09 +0000 http://www.andreanolanusse.com/pt/?p=1111#comment-6206 Caro Andreano,

Estou recebendo o mesmo ID para todas as sessões, mesmo com o TDSServerClass.LifeCycle = Session.
Fiz uma aplicação cliente win32 e rodando ela em máquinas diferentes simultaneamente recebo o mesmo SessionID, tens ideia do que possa ser?

Segue fonte da minha classe que devolve o session ID.

unit uServer;

interface

Uses Classes, DsService;

type
{$MethodInfo ON}
TServer = class(TPersistent)
public
function GetSessionID: Integer;
end;
{$MethodInfo OFF}

implementation

{ TServer }

function TServer.GetSessionID: Integer;
begin
Result := TDSSessionManager.GetThreadSession.Id;
end;

end.

Aqui o trecho de código da aplicação cliente Win32, utilzando classe proxy e um objeto SqlConection apontando para o servidor DataSnap.

procedure TFrmPrincipal.Button1Click(Sender: TObject);
var
pServer: TServerClient;
begin
SQLConnection1.Open;
pServer := TServerClient.Create(SQLConnection1.DBXConnection);
Edit1.Text := IntToStr(pServer.GetSessionID);
pServer.Free;
SQLConnection1.Close;
end;

]]>
Por: Pablo http://www.andreanolanusse.com/pt/datasnap-compartilhando-conexao-com-o-banco-entre-diferentes-server-classes-a-partir-do-mesmo-cliente-session/#comment-6039 Mon, 11 Jul 2011 12:52:45 +0000 http://www.andreanolanusse.com/pt/?p=1111#comment-6039 Bom dia Andreano,

Não consigo utilizar o TDictionary no delphi 2010. Tem alguma diferença na declaração:

Obrigado.

]]>
Por: Andreano Lanusse http://www.andreanolanusse.com/pt/datasnap-compartilhando-conexao-com-o-banco-entre-diferentes-server-classes-a-partir-do-mesmo-cliente-session/#comment-4178 Wed, 23 Feb 2011 19:56:48 +0000 http://www.andreanolanusse.com/pt/?p=1111#comment-4178 Em resposta a Luis Rodolfo.

Se você colocou no onDisconnect do server não tem problema.

]]>
Por: Luis Rodolfo http://www.andreanolanusse.com/pt/datasnap-compartilhando-conexao-com-o-banco-entre-diferentes-server-classes-a-partir-do-mesmo-cliente-session/#comment-4159 Tue, 22 Feb 2011 16:24:22 +0000 http://www.andreanolanusse.com/pt/?p=1111#comment-4159 Muito obrigado Andreano! Era o que eu precisava…

e outra coisa, fiz uma alteração no evento onDisconnect .

if GetConnection nil then
begin
GetConnection.Close;
GetConnection.Free;
ListofConnection.Remove(GetCurrentThreadID);
end;

Tem algum problema? Utilizo Delphi 2010…

]]>
Por: Andreano Lanusse http://www.andreanolanusse.com/pt/datasnap-compartilhando-conexao-com-o-banco-entre-diferentes-server-classes-a-partir-do-mesmo-cliente-session/#comment-2560 Thu, 23 Dec 2010 05:28:43 +0000 http://www.andreanolanusse.com/pt/?p=1111#comment-2560 Em resposta a Rodrigo Rodrigues.

Rodrigo, tem muita informação no EDN.

Para saber a quantidade de sessões ativas você terá que controlar pelos eventos onConnect/onDisconnect do DataSnap Server

]]>
Por: Rodrigo Rodrigues http://www.andreanolanusse.com/pt/datasnap-compartilhando-conexao-com-o-banco-entre-diferentes-server-classes-a-partir-do-mesmo-cliente-session/#comment-2557 Wed, 22 Dec 2010 21:33:09 +0000 http://www.andreanolanusse.com/pt/?p=1111#comment-2557 Oi Andreano, tive no encontro da embarcadero em Natal, onde através de Marcelo, adquirir uma licença do delphi 2010.

Gostaria de saber como fazer para pegar a quantidade de sessões ativas no servidor, se vc pude me responder eu agradeceria bastante, migrei meus sistemas para datasnap 2010 e a quantidade de informação disponível a respeito é muito pouca, fora os seus, os demais conteúdos são muito básicos.

]]>
Por: Rodrigo http://www.andreanolanusse.com/pt/datasnap-compartilhando-conexao-com-o-banco-entre-diferentes-server-classes-a-partir-do-mesmo-cliente-session/#comment-2541 Tue, 21 Dec 2010 13:06:20 +0000 http://www.andreanolanusse.com/pt/?p=1111#comment-2541 Andreano,

Se colocar um SQLConnection em um ServerModule e no ServerClass desse ServerModule definirmos o LifeCycle como server, não teria o mesmo efeito?

todos os outros ServerModule estaria linkado a esse ServerModule que contém o LifeCycle = Server…

]]>
Por: Andreano Lanusse http://www.andreanolanusse.com/pt/datasnap-compartilhando-conexao-com-o-banco-entre-diferentes-server-classes-a-partir-do-mesmo-cliente-session/#comment-1980 Sat, 04 Dec 2010 02:24:08 +0000 http://www.andreanolanusse.com/pt/?p=1111#comment-1980 Em resposta a Rodrigo.

Oi Rodrigo,

Seria quase a mesma coisa, apenas mudando a forma com que se captura o ID da Thread, como no Delphi 2010 não tinha o Session Manager, você pode obter o ID da thread através do método GetCurrentThreadID

]]>
Por: Rodrigo http://www.andreanolanusse.com/pt/datasnap-compartilhando-conexao-com-o-banco-entre-diferentes-server-classes-a-partir-do-mesmo-cliente-session/#comment-1970 Thu, 02 Dec 2010 19:14:18 +0000 http://www.andreanolanusse.com/pt/?p=1111#comment-1970 Andreanno,

Você tem algum exemplo de como implementar isso no Delphi 2010?

Grato

]]>
Por: Andreano Lanusse http://www.andreanolanusse.com/pt/datasnap-compartilhando-conexao-com-o-banco-entre-diferentes-server-classes-a-partir-do-mesmo-cliente-session/#comment-1739 Thu, 18 Nov 2010 01:34:54 +0000 http://www.andreanolanusse.com/pt/?p=1111#comment-1739 Em resposta a Frainer.

Oi Frainer,

Coloca essa dúvida na lista e também um exemplo do problema, assim vai ser mais fácil te ajudar e antes disso entender o problema 🙂

]]>
Por: Frainer http://www.andreanolanusse.com/pt/datasnap-compartilhando-conexao-com-o-banco-entre-diferentes-server-classes-a-partir-do-mesmo-cliente-session/#comment-1656 Wed, 10 Nov 2010 10:54:07 +0000 http://www.andreanolanusse.com/pt/?p=1111#comment-1656 @ off Topic
Bom dia Andreano!
Desculpa incomodar, mas estou com um problema aqui que não estou encontrando solução, já pesquisei muito e nada.
Tenho uma aplicação que faz uso da zlib, sempre funcionou perfeitamente, mas agora com delphi 2010, não consigo mais fazer a descompactação do arquivo. Creio eu que ter algo haver com o unicode, pois o nome dos arquivos estão vindos com caracteres invalidos.
Voce teria alguma solução para esse problema?

Obrigado,
Frainer

]]>
Por: Carlos Tatu Agnes http://www.andreanolanusse.com/pt/datasnap-compartilhando-conexao-com-o-banco-entre-diferentes-server-classes-a-partir-do-mesmo-cliente-session/#comment-1651 Tue, 09 Nov 2010 16:18:55 +0000 http://www.andreanolanusse.com/pt/?p=1111#comment-1651 Próximo passo, retirar o controle manual e utilizar o nativo…

]]>
Por: Carlos Tatu Agnes http://www.andreanolanusse.com/pt/datasnap-compartilhando-conexao-com-o-banco-entre-diferentes-server-classes-a-partir-do-mesmo-cliente-session/#comment-1650 Tue, 09 Nov 2010 16:18:19 +0000 http://www.andreanolanusse.com/pt/?p=1111#comment-1650 Hahahaha…. implementei esse controle no braço! Valeu Andreano!

]]>