[OT] Conexão com banco de dados
Na programação .NET as conexões com banco de dados devem ser abertas o mais tarde possível e serem fechadas o mais cedo possivel. Dá para implementar essa ideia em programação para Win32?
Rjun
Curtidas 0
Respostas
Bon Jovi
24/09/2005
Sim, pelo que sei pelo menos com ADO/OLE DB. Ele já otimiza o restabelecimento de contato com o servidor através do gerenciamento de pooling de conexões, pra isso acontecer não se deve mudar a ConnectionString. É bom pro servidor não manter o connection aberto desnecessariamente, mas qdo não há um recurso parecido com esse aí, fica mais complicado o que decidir. Em aplicações onde a operação é interrupta é mais vantagem deixar o connection ligadão mesmo, já por outro lado, em aplicações web principalmente já é o contrário, mesmo não sendo .NET.
GOSTEI 0
Bon Jovi
24/09/2005
Embora obvio, esqueci de mencionar o uso do ClientDataSet em data controls.
GOSTEI 0
Rjun
24/09/2005
Alguem mais?
GOSTEI 0
Vinicius2k
24/09/2005
Vc teria que analisar o ´custo´ desta prática em suas aplicações.
Como o Bon Jovi disse, as conexões via ADO/OLEDB são reestabelecidas muito rapidamente.
Exemplo disso são as minhas aplicações em ASP, onde abro e fecho a conexão com o Banco de dados (MS-SQL Server) o tempo todo. Mas dependendo da camada de acesso e do SGBD, isto pode ser quase impraticável, como dbExpress + IB/FB no Delphi, por exemplo. No meu caso, processos de reconexão comprometem bastante a performance da aplicação.
Confesso que nunca testei conexões e reconexões nas minhas aplicações Win32 que usam MS-SQL Server com ADO.
Bem, sem falar que *acho* que esta prática só seja possível em 2 camadas, aonde vc tem acesso à conexão. Não trabalho com multi-camadas, mas não vejo como manipular a conexão do lado cliente. A não ser que a estrutura de conexão e reconexão possa ser criada no servidor de aplicação.
T+
Como o Bon Jovi disse, as conexões via ADO/OLEDB são reestabelecidas muito rapidamente.
Exemplo disso são as minhas aplicações em ASP, onde abro e fecho a conexão com o Banco de dados (MS-SQL Server) o tempo todo. Mas dependendo da camada de acesso e do SGBD, isto pode ser quase impraticável, como dbExpress + IB/FB no Delphi, por exemplo. No meu caso, processos de reconexão comprometem bastante a performance da aplicação.
Confesso que nunca testei conexões e reconexões nas minhas aplicações Win32 que usam MS-SQL Server com ADO.
Bem, sem falar que *acho* que esta prática só seja possível em 2 camadas, aonde vc tem acesso à conexão. Não trabalho com multi-camadas, mas não vejo como manipular a conexão do lado cliente. A não ser que a estrutura de conexão e reconexão possa ser criada no servidor de aplicação.
T+
GOSTEI 0