Página 1 de 3
Preciso abrir esse DBF...
Enviado: 10 Jan 2008 11:44
por acelconsultoria
Oi, galera do fórum...
Estou fazendo tranferência de dados de um cliente, que possuia um sistema que também é feito em clipper, mas não consigo abrir os DBF para importar os dados... parecem estar codificados ou encriptados.
Eu upei um DBF pra quem quiser dar uma olhada...
http://www.4shared.com/file/34435633/76 ... TOQUE.html
Se alguém sabe como "quebrar" essa barreira, agradeço desde já !!!
Não consigo abrir esse arquivo com nenhum programa... já tentei de tudo, FoxBase, DBaseIII, DBase for Windows.... todos os programas dizem que é um arquivo inválido... mas o sistema antigo do meu cliente os abre e os lê normalmente... Qual seria o macete
Abraços a todos !!!
Enviado: 10 Jan 2008 12:14
por Toledo
Maickon, se este arquivo estiver encriptado, provavelmente quando o programa do seu cliente for abrir este arquivo, deve descriptar o mesmo para que possa ser usado. Então basta você entrar no programa e ir até na tela de digitação deste arquivo, depois volte para o Windows (sem sair da tela de digitação) e faça uma cópia do arquivo.
Acho que pode dar certo!
Abraços,
Enviado: 10 Jan 2008 12:14
por sygecom
Tentou entrar em contato com a empresa ou pessoa que desenvolveu o sistema ? talvez eles lhe passe alguma dica, pelo que sei os dados da empresa pertence a empresa que comprou a licença do Software e quem fez o sistema não pode restringir essas informações de quem compra.
Enviado: 10 Jan 2008 12:33
por janio
Isso mesmo que o Toledo falou.
Se o dbf tá encriptado ou protegido, ao entrar no sistema OBRIGATORIAMENTE é desprotegido. Enquanto o sistema estiver em execução o dbf tá desprotegido, então entre em alguma rotina em que o sistema usa esse dbf, deixe-o aberto e pelo windows copie o dbf.
Deve dar certo. Já tentei isso uma vez e funcionou.
Jânio
Enviado: 10 Jan 2008 12:49
por Maligno
Isso pode realmente funcionar, SE o programa for Clipper. Nada impede que outro programa qualquer, usando outro padrão, utilize a extensão DBF.
Enviado: 10 Jan 2008 13:47
por Eolo
que possuia um sistema que também é feito em clipper, mas não consigo abrir os DBF para importar os dados...
Maickon, pode ser uma coisa bem simples, que está em algum lugar aqui mesmo no site do Toledo... Não lembro exatamente como era (tá em algum lugar aqui no meu HD, vou procurar), mas é simples: vc muda 1 byte de lugar, no header do DBF (tipo trocar AB por BA), e nem o Clipper nem o Excel nem o DBU conseguem "enxergar" o DBF como arquivo válido.
Ou seja, o software espera encontrar AB e, como encontra BA, refuga.
Na hora de usar, o seu EXE troca BA por AB, aí a coisa volta ao normal...
Enviado: 10 Jan 2008 13:49
por Eolo
Maickon, procure por algo como "PROTEGE" ou "DESPROTEGE" DBF...
Achei!
Código: Selecionar todos
/*
ÉÍÍÍÍÍÍÍÍÍÍÍËÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍ»
º PROGRAMA: º DEMONSTRACAO DAS FUNCOES PCTLib º
º DATA : º 04/07/94 º
º MODULO : º EXEMPLO DA FUNCAO --> PROTEC() º
º CRIACAO : º PC Toledo Software º
º ARQUIVO : º XPROTE.PRG º
ÈÍÍÍÍÍÍÍÍÍÍÍÊÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍͼ
*/
LOCAL telc:=SAVESCREEN(0,0,24,79),cPro:='S' //variaveis locais
SET CURSOR ON //liga cursor
v_arq="TESTE.DBF" //nome do DBF
IF !FILE(v_arq) //Se nao existe
DBCREATE(v_arq,{; //cria o DBF
{"codigo" ,"C", 4,0},;
{"nome" ,"C",30,0},;
{"fone" ,"C", 8,0};
})
ENDIF
SETCOLOR("GR+/N,GR+/N") //amarelo com fundo preto
CAIXA(xmold,8,24,12,56,.t.) //monta caixa
IF PROTEC(v_arq)
@ 10,26 SAY "Protege Arquivo (S/N)..:" GET cPro PICT "!";
VALID cPro $ "SN"
READ
IF LASTKEY()=27
cPro='N'
ENDIF
IF cPro='S'
PROTEC(v_arq,.f.)
ALERT("Verifique atraves do DBU se o arquivo est protegido")
ENDIF
ELSE
@ 10,26 SAY "Desprotege Arquivo (S/N)..:" GET cPro PICT "!";
VALID cPro $ "SN"
READ
IF LASTKEY()=27
cPro='N'
ENDIF
IF cPro='S'
PROTEC(v_arq,.t.)
ALERT("Verifique atraves do DBU se o arquivo est desprotegido")
ENDIF
ENDIF
SET CURSOR OFF //desliga cursor
RESTSCREEN(0,0,24,79,telc) //restaura tela
SET COLOR TO //restabelece cores padrao
RETURN //volta ao menu
*ÉÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍ»
*º Final do arquivo {PC Toledo} º
*ÈÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍͼ
Enviado: 10 Jan 2008 13:51
por janio
Eolo escreveu:Maickon, procure por algo como "PROTEGE" ou "DESPROTEGE" DBF...
Já tentei
todas as funções de proteção de dbf que tenho aqui, inclusive as que vc mencionou e
nenhuma funcionou.
Jânio
Enviado: 10 Jan 2008 13:55
por Eolo
Janio, eu tenho um treco aqui que achei na NET, que mostra o header de um DBF em detalhes... Só não sei como subir aqui pro Forum! Vou subir como texto, mesmo. Truco...
Mas é mais ou menos o seguinte: vc pega o 11o. e o 12o. bytes do DBF (do Header = cabeçalho do DBF) e troca eles de posição. Assim, eles ficam "ENCRIPTADOS" porque ninguém (DBase, DBU, Excel etc) consegue abrir. Para desencriptar, reverte a troca.
Enviado: 10 Jan 2008 14:01
por Eolo
Bingo! Achei o link:
http://www.clicketyclick.dk/databases/x ... E_2_SOURCE
Mostra o DBF "por dentro". Muito chic.
Ops, correção: mostra um DBF 3 ou 4 por dentro. Um DBF 7 é outra história.
Enviado: 10 Jan 2008 15:27
por Pablo César
Eolo, eu acho que poderia até conseguir recuperar a ESTRUTURA desses DBF (se é que padrão XDBASE mesmo) mas os dados muito possívelmente irão estar encripatados. Eu baixei e achei bem dificil de descobrir alguma identificação, salvo algun caracteres fixo que poderia sem os delimiters para a questão da estrutura do "possível" DBF. Mas que irá quebrar a cabeça... vai...
Deixa te dar uma outra sugestão que servirá para extrair os dados de uma só vez, isto é a minha indicação não servirá para fazer uma interação entre os dois sistemas.
Maickon, esse sistema tem relatórios ? Esses relatórios, tem os dados que você precisa para importar na sua base de dados ?. Se sim, então capture a impressão para arquivo (pode fazer isso com a instalação de impressora generica com saída a arquivo ou utilizar PRN2FILE.EXE). Crie um arquivo de por ves e você poderá ler nas posições em que se encontram os dados tão valiosos.
Eu ganhei um cliente que tinha um sistema em Cobol e fiz isso. Fois batata (isso porque gosto de STRINGS, SUBSTRINGS, APPEND, CREATE...). O quê você acha disso Maickon ? A indicação do Toledo, não serviu ?
Enviado: 10 Jan 2008 18:08
por Maligno
Eu vi o DBF do colega. SE ele foi encriptado, encriptaram o arquivo todo, inclusive o header. Ficou absolutamente ilegível por qualquer programa tradicional. Não foi uma mera troca de bytes.
Enviado: 10 Jan 2008 18:35
por alaminojunior
Realmente a coisa é feia ! Não dá para identificar nada !
Faça como sugerido mais acima, abra o programa original, e estoure a tela. O resultado será o arquivo intacto.
Enviado: 10 Jan 2008 19:45
por acelconsultoria
Aê, galera... valeu pelo apoio que vcs tem dado !!!
Realmente o negócio é SINISTRO !!! hehehehehe
Na verdade, esse sistema antigo tá um relaxo total... não possui os relatórios que deveriam possuir, o caixa não funciona obedecendo critérios de fluxo de caixa contábil, enfim... por isso que estamos implantando o nosso sistema lá tentando aproveitar parte do banco de dados.
Hoje fui na empresa, e abri o programa e entrei na tela de cadastro de produtos e minmizei-o. Aí, abri o prompt do DOS e mandei um COPY.... não funcionou, deu mensagem de "violação de compartilhamento". Então recorri ao Windows Explorer, mesma coisa !!!
Bom, tá realmente difícil... eu não sou expert em programação, apenas sei o que a empresa precisa para possuir uma excelente gestão financeira. O que tenho em mente em fazer é reunir o pessoal para uma força tarefa, e cadastrar todo o estoque... até que não é muito... uns 3 mil ítens. Não existe como exportar relatórios ou coisa do tipo... então imprimi as vendas pra avaliar... HORRÍVEL !!! Lançamentos errados... erros por parte do usuário, erros de lógica do sistema antigo... enfim, tá uma ZONA !!!
Infelizmente, 90% do trabalho vai ter que ser refeito... muita coisa vai ter que ser recadastrada mesmo. Mas agradeço demais a força de todos !!! Acabei aprendendo mais esse macete com DBFs que eu não sabia !!!
Muito Obrigado mesmo !!!!
Abraços a todos.
Enviado: 10 Jan 2008 20:05
por Pablo César
acelconsultoria escreveu:até que não é muito... uns 3 mil ítens. Não existe como exportar relatórios ou coisa do tipo...
Uhmm, acho que não é isso que eu tentei te explicar... Se você me dizer que os relatórios não contém todos os dados que você precisa para exportá-los aum um DBF, aí tudo bem, dou-te a razão. Mas o que eu quis dizer é que caso tais relatórios contenham todos os dados suficientes para serem processados, eu diria que ainda tem jeito sim. Após capturar a impressão em arquivo dos relatórios obtidos, bastaria fazer um programa para pegar as substrings com tamanhos fixos no lugar fixo.
Noentanto, pode-se considerar mais louvável começar tudo de novo, avaliar o que está correto e refazer. Pois a vezes é melhor partir numa nova força tarefa de re-criar as coisa de forma mais corretamente possível.