Firedac Multithreading (Conexões simultâneas servidor REST)

17/02/2017

0

[b]Bom dia Pessoal,[/b]

Gostaria de solicitar uma ajuda de vocês, caso alguém puder ajudar fico super agradecido.

A dúvida seria razoavelmente simples, [b]como trabalhar com Multi Thread no FireDac?[/b]
Em outros bancos de dados, como por exemplo o DBISAM, possui um componente para Sessões, basta configurar esse componente e tudo se resolve, porém o firedac não possui este componente.

[b]Explicando melhor o caso:[/b]

Desenvolvi um Servidor REST em Delphi utilizando DataSnap para exportar dados de uma base de dados (Firebird) para dispositivos mobile.

A conexão com o banco de dados é feita pelos componentes FireDac. Quando inicio o servidor faço a conexão com o banco de dados, a conexão fica estabelecida até o servidor ser fechado.

Realizando alguns testes percebi que, quando um dispositivo realiza as requisições tudo funciona perfeitamente, porém [b]o problema surge quando vários dispositivos fazem conexões simultâneas[/b], ocorre diversos erros, Access Violation e erros do banco de dados.

Para corrigir esses erros, em cada método requisitado no servidor inicio uma nova conexão com o banco de dados. Fazendo isto os erros não ocorrem mais e posso conectar diversos dispositivos simultaneamente.
Sei que essa não é a maneira correta, percebi logo de inicio que o processo ficou MUITO lento, pelo fato de toda requisição iniciar uma nova conexão.

[b]Então gostaria de saber como faço para trabalhar com sessões no FireDac, para cada requisição no servidor não influenciar em outras conexões.[/b]

Grato desde já.
:D
Joao

Joao

Responder

Assista grátis a nossa aula inaugural

Assitir aula

Saiba por que programar é uma questão de
sobrevivência e como aprender sem riscos

Assistir agora

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

Aceitar