Fórum Firedac Multithreading (Conexões simultâneas servidor REST) #575041
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
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
Curtir tópico
+ 0
Responder
Clique aqui para fazer login e interagir na Comunidade :)