Um único TFDConnection com Webservice DataSnap

Glaidson de Souza Pezavento

Glaidson de Souza Pezavento Publicado 21/11/2017 


Olá pessoal,


Estou construindo um webservice com datasnap e oracle e pretendo colocar um único TFDConnection para realizar a conexão ao banco, assim centralizarei todas as requisições neste componente, até aí tudo bem, mas tenho algumas questões que podem fazer isto não funcionar.

Em nosso banco temos dois schemas e os usuários dois dois schemas irão conectar simultaneamente, até aí tudo bem, é só setar o schema nos selects que for realizar, a questão é sobre o StartTransaction, commit e roolback, gostaria de saber se o componente TFDConnection consegue fazer uma boa gestão destes eventos, separando estes eventos por requisitador.

Minha dúvida é, ex: o primeiro usuário manda realizar um insert no banco e dá o comando TFDConnection.StartTransaction, então vem um segundo e também manda dar um insert com TFDStartTransaction, então no insert deste segundo dá um erro e executa um TFDConnection.Rollback, enquanto o primeiro ainda estava inserindo, será que o primeiro receberá o commit ou terá um rollback que foi dado pelo segundo? também a gestão de multi schemas, este componente consegue fazer uma boa gestão destes eventos destas conexões?

fiz alguns testes e funcionou, mas estou um pouco receoso de colocar desta maneira para produção e quando tiver vários usuário conectados começar a dar pau, não queria colocar um TFDConnection para cada usuário que conectar no webservice gostaria de somente uma conexão ao banco e assim poupar recursos do servidor.

Alguém consegue me dar uma opinião sobre isto.

Obrigado. 


Voltar ao topo