Cliente tem um ERP feito em Visual FOXPRO ...DBF, o cliente pediu quero ver 
esses meus dados na Web....

montei a seguinte solução.

Servidor Linux com Web Apache
WEB -> PHP
Banco -> MySql

Erp
Visual Fox Pro ---> banco DBF....

aqui abaixo e umas das rotinas para a tabela do Erp que vai para 
Web....CLIFONE....tem outras,,,soh para vc tomar como base,,,,
não precisei de nenhum componente fora os que estao no Delphi 7.

Abs,

Rodrigo Mota.


          //Conecta ao Banco DBF
          db_dbf.ConnectionString := configDbf1 + edit_dirdbf.Text + 'CADASTRO' 
+ configDbf2;
          db_dbf.Connected := true;

          //Seleciona Registros do DBF
          sql_source.SQL.Clear;
          sql_source.SQL.Add('SELECT 
cliente,cli_fone,ramal,fax,e_mail,contato,cli_obs,emp_filial,date_time FROM 
clifone WHERE ramal <> 99999 ');
          if(txtDebug.Visible) then  begin
            txtDebug.Text:=sql_source.SQL.Text;
          end;
          sql_source.Open;
          //----------------------
          //----> Essa tabela será atualizada todas vezes, pois não possui uma 
chave para identificar registros
          //----------------------
          sql_insert.SQL.Clear;
          sql_insert.SQL.Add('DELETE FROM clifone ');
          if(txtDebug.Visible) then begin
            txtDebug.Text:=sql_insert.SQL.Text;
          end;
          sql_insert.ExecSQL;

          if (sql_source.RecordCount > 0) then pbar.Max := 
sql_source.RecordCount;
          while not sql_source.Eof do
          begin
            sql_insert.SQL.Clear;
            sql_insert.SQL.Add('INSERT INTO clifone 
(cliente,cli_fone,ramal,fax,e_mail,contato,cli_obs,emp_filial,date_time) 
VALUES(' );
            sql_insert.SQL.Add(chr(39) + 
addslashes(trim(sql_source.FieldByName('cliente').AsString)) + chr(39) + ', ');
            sql_insert.SQL.Add(chr(39) + 
addslashes(trim(sql_source.FieldByName('cli_fone').AsString)) + chr(39) + ', ');
            sql_insert.SQL.Add(chr(39) + 
addslashes(trim(sql_source.FieldByName('ramal').AsString)) + chr(39) + ', ');
            sql_insert.SQL.Add(chr(39) + 
addslashes(trim(sql_source.FieldByName('fax').AsString)) + chr(39) + ', ');
            sql_insert.SQL.Add(chr(39) + 
addslashes(trim(sql_source.FieldByName('e_mail').AsString)) + chr(39) + ', ');
            sql_insert.SQL.Add(chr(39) + 
addslashes(trim(sql_source.FieldByName('contato').AsString)) + chr(39) + ', ');
            sql_insert.SQL.Add(chr(39) + 
addslashes(trim(sql_source.FieldByName('cli_obs').AsString)) + chr(39) + ', ');
            sql_insert.SQL.Add(chr(39) + 
addslashes(trim(sql_source.FieldByName('emp_filial').AsString)) + chr(39) + ', 
');
            sql_insert.SQL.Add(chr(39) + 
addslashes(trim(sql_source.FieldByName('date_time').AsString)) + chr(39) + ') 
');
            if(txtDebug.Visible) then begin
              txtDebug.Text:=sql_insert.SQL.Text;
            end;
            sql_insert.ExecSQL;
            pbar.Position := pbar.Position + 1;
            pbar.Refresh;
            label_totreg.Caption := IntToStr(StrToInt(label_totreg.Caption) + 
1);
            label_totreg.Refresh;
            sql_source.Next;
          end;
          sql_source.Close;


  ----- Original Message ----- 
  From: Renato Bermudo 
  To: [email protected] 
  Sent: Friday, October 27, 2006 7:50 AM
  Subject: Re: [delphi-br] Migração de 2 milhões de registros, tabela Firebird 
-> Arquivo DBF (+ rápido)


  Olá!
  Cara, faça o seguinte: 
  Pegue o dbf e converta em texto usando o comando SDF do dbase ou foxpro 
(DOS), em seguinda crie uma tabela no Firebird com a mesma estrutura do DBF, 
mas com acesso a arquivos externos.
  Dessa forma vc poderá acessar o arquivo texto usando o SQL padrão.
  Isso resolve seu problema.

  Abraços
    ----- Original Message ----- 
    From: amota_sp 
    To: [email protected] 
    Sent: Friday, October 27, 2006 9:28 AM
    Subject: [delphi-br] Migração de 2 milhões de registros, tabela Firebird -> 
Arquivo DBF (+ rápido)


    Amigos, gostaria de sugestões de alternativas ao BDE ou ainda 
    otimização de seu uso para migração de uma quantidade superior a 
    dois milhões de registros de uma tabela Firebird para um arquivo 
    DBF, com os mesmos campos, datatypes compatíveis. 

    Meu problema está em que talvez não consiga realizar essa tarefa, 
    devido às condições de máquina onde será realizada, ou condições 
    inerentes ao BDE, por isso, gostaria do auxílio dos colegas em dicas 
    de componentes de acesso direto à arquivos DBF's que suporte uma 
    migração dessas de forma segura, confiável e principalmente RÁPIDA, 
    visto que isso será feito com uma certa frequência durante um tempo 
    curto.
    Poderia, logicamente procurar na net por um zilhão de componentes de 
    acesso à dbf ou mesmo manuesear o arquivo diretamente, mas existe 
    uma certa urgência em implantar esse dispositivo de migração.
    Se o manuseio do arquivo (fiz isso a milhões de anos e teria de 
    varrer cds atrás disso), for uma solução meio chata de codificar, 
    mas me garanta a tal confiabilidade e a RAPIDEZ, de repente vale a 
    pena. Caso contrário, vamos à sugestões de componentes. 

    Imensamente grato aos amigos da lista,

    André Mota


     

  [As partes desta mensagem que não continham texto foram removidas]

   

[As partes desta mensagem que não continham texto foram removidas]



-- 
<<<<< FAVOR REMOVER ESTA PARTE AO RESPONDER ESTA MENSAGEM >>>>>

<*> Para ver as mensagens antigas, acesse:
    http://br.groups.yahoo.com/group/delphi-br/messages

<*> Para falar com o moderador, envie um e-mail para:
    [EMAIL PROTECTED]
 
Links do Yahoo! Grupos

<*> Para visitar o site do seu grupo na web, acesse:
    http://br.groups.yahoo.com/group/delphi-br/

<*> Para sair deste grupo, envie um e-mail para:
    [EMAIL PROTECTED]

<*> O uso que você faz do Yahoo! Grupos está sujeito aos:
    http://br.yahoo.com/info/utos.html

 

Responder a