Conduits em Delphi == Conversão de Bancos de Dados Firebird |
|
= Conduits em Delphi == Conversão de Bancos de Dados Firebird
O presente artigo foi feito considerando a minha própria dificuldade em conseguir informações de como converter meu banco de dados FIREBIRD para PDB (utilizado em aplicativos para Palm-tops ).
Créditos : para Wellington Pinto de Oliveira, autor do livro " Desenvolvendo aplicativos com Ns Basic " e também para Emerson Martins da Silva ( emersonmartins8@hotmail.com ) -- autor de um artigo sobre conversao de arquivos .Fdb (do firebird) para arquivos texto (.txt).
autor: Moisés Augusto / 16 de maio 2009.
Bem, explicando melhor -- o Wellington ensinou-me a fazer conduits utilizando tabelas do Ms Access e o Emerson ensinou-me a raciocionar que, por analogia, eu poderia utilizar a mesma técnica aplicada pelo Wellington para os bancos de dados do Access, para a migração do firebird diretamente para arquivos pdb (via conduit em delphi ).
Assim, para concluir vou resumir
1) Você pode perfeitamente utilizar o mesmo conduit em Delphi para converter bancos de dados do Access OU para converter BDs do firebird.
2) Substitua os seguintes componentes (no data module )
a) SqlConnection --- b) SqlQuery ----- c) DataSet Provider ---- d)
Client DataSet
Nota -- Os dois primeiros sao da paleta " DbExpress" e os
dois ultimos da aba " Data Access"
Utilize, na substituição, os seguintes componentes (da aba Interbase )
a) IbDataBase -- b ) IbTransaction --- c) IbDataSet -- d) Ibtable .
3) Faça as conexões, normalmente com o banco de dados do firebird , conforme vc utiliza em seu aplicativo desktop. Se vc conseguir inserir todos os campos em sua IbTable (clicando duas vezes nela e " add all fields) vc terá a certeza de que tudo estará funcionando corretamente .
4) Uma dificuldade que encontrei a princípio -- Os campos " Integer " do Firebird sao equivalentes ao campo " PtLong " do componente que vem na " Dpk 7" que vem junto com os conduits . Quando se usa outro tipo, os integers sao exibidos como uma serie de numeros aleatorios (ex meu codigo era 1 eu obtinha 7820548 ou outra barbaridade qualquer (rs rs ).
5) Outra coisa -- tentei utilizar outros componentes para conexão com o banco de dados firebird -- Não funcionaram, eu recebia o erro " Runtime 217 " quando tentava registrar a Dll utilizando-me do CONDCFG.EXE (que acompanha o referido conduit )..
Se eu puder ser util de alguma forma ou para esclarecimentos, abaixo vai meu email.
autor: Moisés
Augusto
e-mail: moausi@hotmail.com
| |
Buscar com o Google
|
