[firebase-br] Componente de Acesso Firebird D2009

Murilo Garcia Bento murilo em cprinformatica.com.br
Qua Fev 4 21:10:58 -03 2009


Utilizando DBX, também coloquei minha opinião sobre algumas.

> 1 - A aplicação gerada deve verificar a existencia do arquivo de banco de 
> dados... se nao existir... cria-lo ... CREATE DATABASE
Através do SQLConnection você pode tentar uma conexão, se gerar um exceção 
executar o comando, mas acho isso numa aplicação algo meio complicado (a 
menos que seja uma aplicação sem múltiplas conexões).

> 2 - O componente de acesso deve verificar a existencia da Tabela dentro do 
> SGDB... se nao existir... criar ... CREATE TABLE
Através do SQLConnection se pode retornar as tabelas do banco de dados, logo 
você pode realizar a verificação e com o próprio Connection realizar um 
ExecuteDirect para dar o create table.

> 3 - O componente de acesso deve verificar a extrutura das Tabelas dentro 
> do SGDB... se obsoleto... adequar ... ALTER TABLE
Com o SQLDataset você pode retornar informações sobre a tabela, dai é só 
fazer uma verificação dos campos - Acho que isso tu poderia fazer via 
controle de versão do banco de dados, isso já foi muito discutido aqui na 
lista.

> 4 - O componente de acesso deve suportar execução de script's SQL´
A única coisa que o DBX peca é não ter algo para execução de scripts, mas 
tudo bem, com um pouco de lógica você pode criar o seu próprio, por exemplo 
um componente com um StringList interna e que executa os comandos dentro de 
uma única transação, dai vai de ti realizar os controles para casos 
especiais como a criação de procedures se for o caso, se for apenas para 
insert's/deletes/updates o único tratamento pode ser a transação mesmo.

> 5 - O componente de acesso deve suportar geração e restauração de BackUp, 
> a partir da aplicação criada...
Hum... isso sempre fiz de forma "separada" e "independente" do DBX, por 
exemplo utilizando o próprio gbak (colocando ele num arquivo resource e 
realizando todo o tratamento), como também já utilizei os componentes de 
backup/restore da palheta InterbaseAdmin. Mas tendo e vista todo o retorno 
positivo do DBX, acho que não custa perder um tempo aqui desenvolvendo algo 
já que o DBX não tem algo próprio.

> 6 - etc...
Um ponto importante, nunca utilizei o IBO, mas muitos dizem que é ótimo, se 
queis fazer algo apenas para FB não custa dar uma olhada se ele já não tem 
tudo isso acima de forma "nativa", pois como comentei utilizando o DBX 
alguma coisa será feita na mão, mas se é multibanco, DBX sem sombra de 
dúvida.
Hoje sou 100% DBX e não vou trocar tão cedo.

> Gero código com essas funcionalidades usando IBX... entretanto com a 
> necessidade de substituição do componente, gostaria de saber se usando 
> DBExpress poderei continuar com a técnica acima...
>
>
> Opções em avaliação para comentarios... FibPlus, IBDac, AnyDac e DBExpress
>
>
>
> Desde já agradeço a atenção dos participantes da comunidade...
> ______________________________________________
> FireBase-BR (www.firebase.com.br) - Hospedado em www.locador.com.br
> Para saber como gerenciar/excluir seu cadastro na lista, use: 
> http://www.firebase.com.br/fb/artigo.php?id=1107
> Para consultar mensagens antigas: http://firebase.com.br/pesquisa
>
> 





Mais detalhes sobre a lista de discussão lista