Fórum converter dbf do fox pro para firebird #56520

12/07/2006

0

tentei converter os dbf do fox pro para o firebird

usando o datapump


da a seguinte mensagem
could not find language driver

tem algum outro programa q eu consiga fazer isto


eu utilizei o full convert trial q encontrei na internet


mas ele só busca 50 registros da base de dados
se quiser tem que comprar

mas eu preciso só para um sistema e não tenho como comprar


té +
@br@ços


Dhauch

Dhauch

Responder

Posts

12/07/2006

Aschaves

Arquivos .DBF são faceis de converter para formato TXT, eu uso Clipper e converto-os para TXT com ´COPY TO NOMEDOARQ.TXT SDF´, acredito que no Fox-Pro tenha algo semelhante.

Isto gera um arquivo TXT com cada linha sendo um registro e formatado de acordo o tamanho dos campos.

Então é só fazer uma rotina em Delphi para ler o TXT do inicio ao fim, pegando os trechos de texto e convertendo-os para o formato apropriado.

Parece trabalhoso, mas te dá a liberdade de converter da forma que quiser, mudar (nome de campos, tamanho, Tipo etc...)


Segue abaixo em trecho de código para ler TXT:

ArqTxt: TextFile;
StrLinha : String;

begin
      AssignFile( ArqTxt, ´niveis.txt´ );
      Reset( ArqTxt );

      //--- Loop Arquivo Texto
      while not eof( ArqTxt ) do
        begin
          ReadLn( ArqTxt, StrLinha );

          //--- Adiciona registro e define campos
          IB_Query_Niveis.Append;
          IB_Query_Niveis.FieldByName(´CODNIVEL´).AsInteger := StrToInt(Copy( StrLinha, 1,5 ));
          IB_Query_Niveis.FieldByName(´CODCURSO´).AsInteger := StrToInt(Copy( StrLinha, 6,5 ));
          IB_Query_Niveis.FieldByName(´SEGMENTO´).AsString := Copy( StrLinha, 11,1 );
          IB_Query_Niveis.FieldByName(´SEQUENCIA´).AsInteger := StrToInt(Copy( StrLinha, 12,2 ));
          IB_Query_Niveis.FieldByName(´DESCRICAO´).AsString := Copy( StrLinha, 14,40 );

           IB_Query_Niveis.Post;
        end;

        IB_Query_Niveis.First;
        CloseFile( ArqTxt );
    end;


Tem que fazer uma rotina dessa para cada tabela.
Espero que ajude!


Responder

Gostei + 0

12/07/2006

Gandalf.nho

Use o IBDatapump para isso.


Responder

Gostei + 0

Utilizamos cookies para fornecer uma melhor experiência para nossos usuários, consulte nossa política de privacidade.

Aceitar