Vitor Redes wrote:
>             Vou usar como exemplo o DBExpress da vida...
> 
>             Quando a conexão com o banco é feita, a resposta demora um
> pouco, se isso for feito a cada inserção/edição, fica inviável.
> 
>             Agora não sei mesmo se estamos falando da mesma coisa...

Não estávamos. Eu estava falando de transação. O exemplo que citei na 
primeira mensagem diz respeito a acessar o banco a cada form, ou a cada 
item que você preenche. Típico comportamento de componentes de acesso 
sem um cache decente. Não conheço grandes coisas de componentes de 
acesso, mas posso adiantar que pelo menos IBX, Zeos, UIB e MDO fazem 
parte desta lista.

Então voltando à vaca fria, se o programador não for capaz de montar um 
form aonde ele possa acessar o banco uma única vez, mesmo forms com 
trocentos mestre-detalhe aninhados, então ele não deve usar dbware. Se 
ele conseguir manter tudo em cache e puder despachar tudo para o banco 
dentro de uma única transação, então dbware vai bem, ele só fica sem uma 
solução mais flexível e menos xarope para configurar do que um cds da vida.

Concordo com o que você colocou em outra mensagem, dizendo que isto fica 
mais lento do que incluir itens um a um, mas estes centésimos de 
segundos que você gasta a mais para gravar tudo, reflete-se em 
integridade dos dados, banco trabalhando com transações curtas e o 
servidor de dados feliz da vida.

--
Joao Morais



>             Geralmente uma conexão é feita na hora da entrada no sistema...
> caso ela caia, o tratamento depende de cada desenvolvedor, mas isso é outra
> questão.
> 
>             Uma conexão para cada transação geralmente é utilizada para
> desenvolvimento de sites...
> 
>  
> 
>             Mas vou explicar o que eu faço...
> 
>             Tenho Entidades e Objetos para cada tabela do banco de dados, e
> para cada situação que achar plausível, as entidades montam as strings de
> seleção automaticamente e as string de inserção, edição e deleção conforme
> for melhor... por exemplo, se um campo é alterado, a string é enviada
> somente com esse campo, e por aí vai... mas para a comunicação com o banco,
> utilizo DBExpress... ainda que o sistema todo não trabalhe com componentes
> DataAware.
> 
>  
> 
>             Vitor Redes.
> 
>  
> 
>  
> 
>   _____  
> 
> De: delphi-br@yahoogrupos.com.br [mailto:[EMAIL PROTECTED] Em
> nome de Joao Morais
> Enviada em: sexta-feira, 24 de agosto de 2007 10:52
> Para: delphi-br@yahoogrupos.com.br
> Assunto: Re: RES: RES: [delphi-br] DBEDIT X EDIT
> 
>  
> 
> Vitor Redes wrote:
>>>> Agora, quanto a conectar na hora de salvar eu não entendi João,
>>>> não vejo necessidade de usar esse tipo de coisa em programação win32.
>>>> Não ficaria tudo mais lento?
>>> Com esta abordagem as suas transações são sempre curtas, e o seu banco
>>> de dados agradece.
>>>
>>> E por quê você julga que fica mais lento?
>> Porque a conexão, a não ser que você tenha desenvolvido seu próprio
>> driver de uma maneira diferente da dos drivers que existem no mercado é
>> sempre "meio lenta', em conexões remotas, o que é comum hoje, acho que
> isso
>> ficaria inviável.
> 
> Você poderia exemplificar a forma que fica lenta e a forma que fica 
> rápida? Talvez a gente esteja falando de duas coisas diferentes.
> 
> E o que você chama de conexão remota, rede local ou através da internet?
> 
> --
> Joao Morais
> 
>  

Responder a