Página 1 de 1

Do arquivo TXT exportar para uma base DBF já existente

Enviado: 19 Out 2004 13:14
por Juninho
CAROS AMIGOS DO FORUM EU TINHA UM SISTEMA COM UMA BASE DE DADOS E QUE NESTE SISTEMA EU TINHA POSSIBILIDADE DE GRAVAR QUALQUER CADASTRO NO FORMATO TXT, SÓ QUE DEVIDO ALTERAÇÕES QUE FIZ NO MEU N O VO SISTEMA A BASE DE DADOS É DIRENTE DA OUTRA DO SISTEMA VELHO, OU SEJA TEM COMO EU PEGAR ESSE ARQUIVO TXT E PUXAR AS INFORMAÇÕES PARA DENTRO DO NOVO DBF.


ESPERO QUE POSSAM ME AJUDAR


DESDE JÁ FICO GRATO

JUNIOR

Enviado: 19 Out 2004 15:49
por Clipper
Prezado Colega

Se o layout é diferente não tem como você simplesmente "appendar", neste caso existem 2 opções :

1 - Transferir para o layout antigo, fazer as modificações de layout se for o caso e transferir para o novo layout.

2 - Fazer o tratamento e a a transferência direta do TXT pegando registro por registro e transferir para a nova base de dados.

Até logo.

Marcelo

Enviado: 22 Out 2004 15:59
por evolver
Idéia básica:

Crie um novo banco de dados baseado na nova estrutura mas com os mesmo nomes da estrutura anterior.

Append para esse banco de dados

Append do novo banco de dados para o antigo.

Idéia complicada:
Usar funções de baixo nível pra ler linha por linha (isso é de matar)
Converter cada um dos campos do texto para variáveis em clipper (funçãozinha cansativa de ser feita, graças a deus não tive que fazer muito)
Enviar os dados para o banco de dados (e haja do while...)

Enviado: 23 Out 2004 06:21
por Clipper
Com certeza a ideia do Evolver é a mais viável.

Em relação a pegar linha a linha. Porém eu discordo do uso de funções de baixo nível, dá prá pegar usando as de "alto nível" mesmo e é bem simples na minha opnião.

Até logo.

Marcelo

Enviado: 26 Out 2004 04:18
por evolver
Quando se trata de arquivos txt o memoread só funciona bem com até mais ou menos 64000 caracteres. Se tivermos um arquivo txt grande demais pode esquecer memoread, memoline, etc... Sei que o pessoal do blinker e [x]harbour vai vir aqui berrar no meu ouvido mas ainda prefiro usar baixo nível pra acessar diretamente do que ficar carregando tudo de uma vez na memória com memoread.

Por sinal usando como base o meu programa editor hexadecimal pode até se ter uma idéia de como poderia ser feito um programa (usando funções de baixo nível) pra acessar bancos de dados TXT de maneira direta como se estivesse num DBEDIT (browse). Mas acho melhor deixar isso pro pessoal mais avançado na coisa hehehe.