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