Re: [firebase-br] Críticas ao DBExpress

Francisco Thiago jeandeadlucky em yahoo.com.br
Seg Jun 13 19:17:09 -03 2005


Mesmo não sendo o Paulo, gostaria de falar.

O TDataSetProvider controla todas as transações. Logo, se você fizer um 
relacionamento MestreDetalhe, você não precisará se preocupar com as 
transações, que o Provider vai cuidar delas pra você.

Detalhe: Só é possível caso você use o NestedTable (através do 
TDataSetField)

Agora, caso não seja possível este relacionamento, a única forma que EU 
conheço é criar uma procedure que faça as devidas alterações no banco.

iniciando uma transação
var
  lt_T :TTransactionDesc;
{adicionar DBXpress no uses}
begin
  Randomize;
  lt_T.TransactionID := Random(65535);
  lt_T.IsolationLevel := xilREADCOMMITTED;
  DBXConnection.StartTransaction(lt_T);

  try
//    faça algo
    DBXConnection.Commit(lt_T);
  except
    DBXConnection.RollBack(Transaction)
  end;
end;


Espero ter ajudado

Francisco Thiago de Almeida
Enter&Plug Informática
Divisão: Desenvolvimento e Banco de dados
MSN: thiago em enterplug.com.br
Skype: enterplug_thiago

----- Original Message ----- 
From: "Antonio Carlos" <a.lima.silva em terra.com.br>
To: "FireBase" <lista em firebase.com.br>
Sent: Monday, June 13, 2005 6:15 PM
Subject: Re: [firebase-br] Críticas ao DBExpress


Paulo, vi sua resposta abaixo e tenho a seguinte dúvida :

Uso SqlDataSet + DataSetProvide + ClienteDataSet

via de regra com o command test = select * from tabela where chave(s) = id

bom eu preciso agora fazer algumas operacoes dentro de uma transacao, se
algo nao der certo, todas as operacoes devem dar roolback

mas dbx nao tem componente transaction como a paleta IBX que bastava ligar
todos os processos nele e dar rollback na transacao voltava tudo atrás.

Como voce faz essa transação explicita com SqlDataSet + DataSetProvide +
ClienteDataSet ?

Creio que haverá outros com a mesma duvida.

Obrigado.

Antonio Carlos


----- Original Message ----- 
From: "Paulo Geloramo" <paulogeloramo em terra.com.br>
To: "FireBase" <lista em firebase.com.br>
Sent: Monday, June 13, 2005 5:29 PM
Subject: Re: [firebase-br] Críticas ao DBExpress


> 1) Qual driver devo utilizar o da Bolrand ou da UBI?

Estou usando o driver da Borland.
Testei o driver da UIB, ocorreu problema em campos FMTBCD que é o padrão no
driver da Borland, mas não naquele.

> 2) Voce esta tendo algum problema como a transacao de leitura que o DBX 
> abre internamente e aparente mente nao fecha?

Não tive problemas.
Observando id da transação através da estatistica do Firebird 1.5.2,
notei que o id é alterado (pode ser commit), mas não entendi qual o critério
para
alterar o id, pois não ocorre em cada ApplyUpdate(0).
Fiz o seguinte teste:
Select
ApplyUpdate(0)
Estatistica
... 30 vezes
Insert
ApplyUpdate(0)
Estatistica
... 30 vezes
Update
ApplyUpdate(0)
Estatistica
...30 vezes
Delete
ApplyUpdate(0)
Estatistica
...30 vezes

> 3) Alguma dica para quem esta começando?

Usei SQLDataSet+DataSetProvider+ClientDataSet com a transação
implicita, usei a transação explicita somente quando necessario.


>
> Aqui na empresa utilizamos o TClientDataSet + TDataSetProvider + TQuery 
> como DB2 para AS/400 e nao temos problema, basicamente o que muda e a 
> transacao de cada banco (o DB2 nao abre uma transacao para as leituras).
>
> Obrigado.
>
> PHA
> Nova Odessa / SP - Brazil
>
> -----Mensagem original-----
> From: "Paulo Geloramo" paulogeloramo em terra.com.br
> Date: Mon, 13 Jun 2005 12:06:15 -0300
> To: "FireBase" lista em firebase.com.br
> Subject: Re: [firebase-br] Críticas ao DBExpress
>
>> Ola Evandro, confesso que agora eu fiquei sem entender,
>> pois se você ficar com medo de usar uma ou outra dll, então
>> posso concluir, com toda certeza, que tens medo de usar
>> Firebird no Windows, a menos que consiga usá-lo sem as
>> vitais dlls, no mais, a imensa maioria dos aplicativos usam
>> dll e podemos dizer que a dll é a alma ou seria o coração
>> do Windows, mas tenho que concordo com você em uma
>> coisa, realmente da medo.
>>
>> []s
>> Paulo Geloramo
>>
>> ps.: Tenho usado o DBExpress com Firebird com sucesso e recomendo.
>>


______________________________________________
FireBase-BR (www.firebase.com.br) - Hospedado em www.bavs.com.br
Para editar sua configuração na lista, use o endereço
http://mail.firebase.com.br/mailman/listinfo/lista_firebase.com.br
Para consultar mensagens antigas: http://firebase.com.br/pesquisa




______________________________________________
FireBase-BR (www.firebase.com.br) - Hospedado em www.bavs.com.br
Para editar sua configuração na lista, use o endereço 
http://mail.firebase.com.br/mailman/listinfo/lista_firebase.com.br
Para consultar mensagens antigas: http://firebase.com.br/pesquisa



	
	
		
____________________________________________________
Yahoo! Mail, cada vez melhor: agora com 1GB de espaço grátis! http://mail.yahoo.com.br





Mais detalhes sobre a lista de discussão lista